/* Componentes próprios da landing estática (fora do Elementor). */
:root {
  --nj-black: #000; --nj-gold: #85754E; --nj-gold-dark: #443B25; --nj-white: #fff; --nj-text: #4E4E4E;
}
body { background-color: var(--nj-black); }

/* Player do YouTube só depois do clique (youtube-nocookie) */
.nj-yt-btn { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; }
.nj-yt-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nj-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%);
  background: rgba(23, 23, 23, .8); border-radius: 12px; transition: background .2s; }
.nj-play::after { content: ""; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 17px;
  border-color: transparent transparent transparent #fff; }
.nj-yt-btn:hover .nj-play, .nj-yt-btn:focus-visible .nj-play { background: #f00; }
.nj-yt-btn:focus-visible { outline: 3px solid var(--nj-gold); outline-offset: 2px; }
.elementor-wrapper iframe, .elementor-wrapper video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }

/* VSL */
.nj-vsl .nj-play { width: 88px; height: 62px; }
.nj-vsl .nj-play::after { left: 35px; top: 18px; border-width: 13px 0 13px 22px; }
.nj-ai-notice { margin: 10px auto 0; max-width: 760px; font-family: "Work Sans", sans-serif; font-size: 13px; line-height: 1.4;
  color: #bdbdbd; text-align: center; }

/* Barra fixa no rodapé (sticky "bottom" do Elementor) */
.nj-sticky-bottom { position: sticky; bottom: 0; z-index: 50; }

.nj-footer { background: #0C0C0C; color: #9a9a9a; text-align: center; padding: 18px 16px 110px;
  font-family: "Work Sans", sans-serif; font-size: 13px; }
.nj-footer a, .nj-linklike { color: #c9c9c9; text-decoration: underline; }
.nj-linklike { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }

/* Popup do formulário */
.nj-modal { border: 0; padding: 0; width: min(92vw, 520px); max-height: 92vh; background: #fff; border-radius: 3px; color: var(--nj-text); }
.nj-modal::backdrop { background: rgba(0, 0, 0, .8); }
.nj-form { position: relative; padding: 40px 28px 30px; font-family: "Work Sans", sans-serif; }
.nj-form-title { text-align: center; font-size: 18px; line-height: 30px; color: var(--nj-text); margin: 0 0 18px; }
.nj-form label { display: block; font-size: 16px; font-weight: 700; color: #7A7A7A; margin: 12px 0 6px; }
.nj-form input:not([type=hidden]), .nj-form select { width: 100%; min-height: 47px; padding: 6px 16px; border: 1px solid #69727d; border-radius: 3px;
  background: #fff; color: #333; font-size: 16px; }
.nj-form input:focus, .nj-form select:focus { outline: 2px solid var(--nj-gold); outline-offset: 1px; }
.nj-submit { width: 100%; margin-top: 22px; padding: 18px 20px; border: solid var(--nj-gold-dark); border-width: 0 0 7px 0;
  border-radius: 5px; background: var(--nj-gold); color: #fff; font-family: "Work Sans", sans-serif; font-weight: 800;
  font-size: 18px; letter-spacing: .5px; cursor: pointer; }
.nj-submit[disabled] { opacity: .7; cursor: progress; }
.nj-form-error { margin: 14px 0 0; color: #b00020; font-size: 14px; text-align: center; }
.nj-modal-close { position: absolute; top: 6px; right: 10px; width: 36px; height: 36px; border: 0; background: none;
  font-size: 30px; line-height: 1; color: #555; cursor: pointer; }

/* Botão flutuante do WhatsApp */
.nj-wa { position: fixed; right: 20px; bottom: 96px; z-index: 60; width: 60px; height: 60px; border-radius: 50%;
  background: #25d366; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.nj-wa-tip { position: absolute; right: 72px; top: 50%; transform: translateY(-50%); white-space: nowrap; background: #fff;
  color: #333; font: 600 14px/1 "Work Sans", sans-serif; padding: 9px 12px; border-radius: 14px; box-shadow: 0 1px 6px rgba(0,0,0,.25); }
@media (max-width: 767px) { .nj-wa { right: 14px; bottom: 92px; width: 54px; height: 54px; } }

/* Banner de cookies */
.nj-consent { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 100; max-width: 880px; margin: 0 auto;
  background: #111; color: #eee; border: 1px solid var(--nj-gold); border-radius: 3px; padding: 18px 20px;
  font-family: "Work Sans", sans-serif; font-size: 14px; line-height: 1.5; box-shadow: 0 6px 24px rgba(0,0,0,.5);
  display: flex; gap: 16px; align-items: center; }
.nj-consent p { margin: 0; flex: 1; }
.nj-consent a { color: #d8c79c; text-decoration: underline; }
.nj-consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
/* Mesmo peso visual para as duas opções */
.nj-btn-consent { min-width: 120px; padding: 12px 18px; border: 1px solid var(--nj-gold); border-radius: 3px;
  background: var(--nj-gold); color: #fff; font: 600 15px/1 "Work Sans", sans-serif; cursor: pointer; }
.nj-btn-consent:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 767px) {
  .nj-consent { flex-direction: column; align-items: stretch; }
  .nj-consent-actions .nj-btn-consent { flex: 1; }
}

/* Versão curta: blocos escondidos até o momento certo da VSL */
[data-variant="short"] [data-reveal]:not(.is-revealed) { display: none; }
[data-variant="short"] [data-reveal].is-revealed { animation: nj-reveal .6s ease-out both; }
@keyframes nj-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-variant="short"] [data-reveal].is-revealed { animation: none; } }

/* Ajustes de layout pedidos pelo Phillip (16/10/2026), só a partir do tablet.
   IDs: Friuli / Milão (as duas páginas têm IDs diferentes nestes blocos). */
@media (min-width: 768px) {
  /* Eccellenza PhiAcademy: afastar o texto da foto */
  .elementor .elementor-element.elementor-element-17befb7c > .elementor-element-populated,
  .elementor .elementor-element.elementor-element-4187e52 > .elementor-element-populated { padding-left: 60px; }
  /* os parágrafos tinham margem de 150 px dos dois lados: alinhados ao título */
  .elementor .elementor-element.elementor-element-17befb7c .elementor-widget > .elementor-widget-container,
  .elementor .elementor-element.elementor-element-4187e52 .elementor-widget > .elementor-widget-container { margin-left: 0; margin-right: 0; }
  /* Riconoscimento a Livello Mondiale: afastar do topo */
  .elementor .elementor-element.elementor-element-2e9ffb6c > .elementor-element-populated,
  .elementor .elementor-element.elementor-element-9847f62 > .elementor-element-populated { padding-top: 60px; padding-bottom: 60px; }
  /* Supporto / Canale Diretto: afastar do topo */
  .elementor .elementor-element.elementor-element-863c5be > .elementor-element-populated { padding-top: 50px; padding-bottom: 50px; }
}

/* Seção "clienti note" (vídeos verticais da Natasa com clientes conhecidas) */
.nj-clienti-note { background: #000; color: #fff; padding: 60px 16px; }
.nj-cn-inner { max-width: 1140px; margin: 0 auto; text-align: center; }
/* mesma hierarquia do título «Gioia Condivisa»: Cormorant 80 px (50 px no celular), 300, oblíquo */
.nj-clienti-note .nj-cn-title { font-family: "Cormorant", serif; font-style: oblique; font-weight: 300; font-size: 80px; line-height: 1; margin: 0 0 24px; }
.nj-cn-sub { font-family: "Work Sans", sans-serif; font-size: 18px; line-height: 1.5; color: #d9d9d9; max-width: 760px; margin: 0 auto 32px; }
.nj-cn-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.nj-cn-item { margin: 0; }
.nj-cn-item video { width: 100%; aspect-ratio: 9/16; object-fit: cover; background: #111; border-radius: 3px; display: block; }
.nj-cn-item figcaption { font-family: "Work Sans", sans-serif; font-size: 15px; margin-top: 10px; color: #c9b98f; }
@media (max-width: 767px) {
  .nj-clienti-note .nj-cn-title { font-size: 50px; } /* vence o h2 de 30 px do tema no celular */
  /* No celular: carrossel horizontal com encaixe, mostrando um pedaço do próximo vídeo */
  .nj-cn-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px;
    overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
  .nj-cn-item { scroll-snap-align: center; }
}

/* "Prima e Dopo": a galeria (0d850f5) ganha embaixo o mesmo respiro do topo do bloco
   (100 px; 50 px no celular), para não colar na seção seguinte (pedido do Phillip, 22/10). */
.elementor .elementor-element.elementor-element-0d850f5 { padding-bottom: 100px; }
@media (max-width: 767px) { .elementor .elementor-element.elementor-element-0d850f5 { padding-bottom: 50px; } }

/* Seletor de local (página orgânica) */
.nj-form select { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2385754E' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.nj-form select:invalid { color: #757575; }
