.elementor-918 .elementor-element.elementor-element-23f43e0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:160px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-918 .elementor-element.elementor-element-a188f2d{text-align:center;}.elementor-918 .elementor-element.elementor-element-a188f2d .elementor-heading-title{font-family:"Bodoni Moda", Sans-serif;font-size:48px;font-weight:400;letter-spacing:3px;color:#F2E6D0;}.elementor-918 .elementor-element.elementor-element-0ecd02f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 0px 0px;text-align:center;}.elementor-918 .elementor-element.elementor-element-0ecd02f .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:19px;font-weight:200;letter-spacing:3px;color:#758A8F;}.elementor-918 .elementor-element.elementor-element-3b74b37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:160px;--margin-bottom:160px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-918:not(.elementor-motion-effects-element-type-background), body.elementor-page-918 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0C0C0D;}@media(min-width:768px){.elementor-918 .elementor-element.elementor-element-23f43e0{--content-width:1240px;}.elementor-918 .elementor-element.elementor-element-3b74b37{--content-width:1240px;}}/* Start custom CSS for html, class: .elementor-element-fea19d9 *//* =========================================
   PAINEL DE CONTROLE (Variáveis)
   ========================================= */
:root {
  /* Galeria Base */
  --gal-font: 'Manrope', sans-serif;
  --gal-font-color: #5a5a5a;
  --gal-font-weight: 200;
  --gal-font-size: 18px;
  --gal-font-style: italic; 
  --gal-letter-spacing: 1px;
  --gal-gap-desktop: 40px;
  --gal-gap-mobile: 20px;
  --gal-title-margin: 20px;
  --gal-hover-speed: 0.6s;
  --gal-filter-color: rgba(15, 14, 14, 0.4); 

  /* Ficha Técnica (Lightbox) */
  --ft-gap: 40px; /* Distância entre imagem e texto */
  
  /* Peso X (Enunciados) */
  --ft-label-weight: 700;
  --ft-label-color: #f2e6d0;
  --ft-label-size: 16px;
  --ft-label-style: normal;
  
  /* Peso Y (Descrições) */
  --ft-text-weight: 100;
  --ft-text-color: #f2e6d0;
  --ft-text-size: 16px;
  --ft-text-style: normal;
  --ft-line-height: 1.6;
  --ft-letter-spacing: 0.8px;
  --ft-margin-bottom: 20px; /* Espaço entre cada linha de informação */
}

@import url('https://fonts.googleapis.com/css2?family=Manrope:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');

/* =========================================
   SISTEMA DE GRID MATEMÁTICO (6 Colunas)
   ========================================= */
.lucas-portfolio-gallery {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--gal-gap-desktop);
  width: 100%;
  margin: 0;
  padding: 0;
}
.gallery-item { display: flex; flex-direction: column; width: 100%; }
.vertical { grid-column: span 2; }
.horizontal { grid-column: span 3; }

/* Aspect Ratios & Hover */
.img-wrapper { position: relative; width: 100%; overflow: hidden; cursor: pointer; }
.vertical .img-wrapper { aspect-ratio: 1 / 1.414; } 
.horizontal .img-wrapper { aspect-ratio: 16 / 9; }
.img-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--gal-hover-speed) cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.hover-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--gal-filter-color); pointer-events: none; transition: opacity var(--gal-hover-speed) ease; z-index: 1; }
.img-wrapper:hover img { transform: scale(1.04); }
.img-wrapper:hover .hover-overlay { opacity: 0; }

.gallery-title {
  font-family: var(--gal-font);
  color: var(--gal-font-color);
  font-weight: var(--gal-font-weight);
  font-size: var(--gal-font-size);
  font-style: var(--gal-font-style);
  letter-spacing: var(--gal-letter-spacing);
  text-align: center;
  margin: var(--gal-title-margin) 0 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================
   LIGHTBOX AVANÇADO & FICHA TÉCNICA
   ========================================= */
.lightbox-container {
  display: none;
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100vh;
  background-color: rgba(15, 15, 15, 0.98); /* Fundo quase sólido para destacar o texto */
  z-index: 999999;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(8px);
}

.close-lightbox {
  position: absolute;
  top: 20px; right: 40px;
  color: #fff; font-size: 45px; font-weight: 300;
  cursor: pointer; z-index: 10;
  line-height: 1;
}
.close-lightbox:hover { color: #888; }

/* Container que segura a Imagem e o Texto */
.lightbox-content {
  display: flex;
  flex-direction: row;
  gap: var(--ft-gap);
  width: 90vw;
  max-width: 1400px;
  height: 85vh; /* Altura fixa baseada na tela */
  justify-content: center;
}

/* Coluna da Imagem */
.lightbox-img-col {
  display: flex;
  align-items: flex-end; /* Alinha a imagem à base */
  justify-content: flex-end;
  height: 100%;
}
.lightbox-img-col img {
  max-width: 100%;
  max-height: 100%; /* Respeita o limite da tela */
  object-fit: contain;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}

/* Coluna do Texto (Ficha Técnica) */
.lightbox-info-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* ALINHAMENTO AO RODAPÉ DA IMAGEM */
  width: 400px; /* Largura fixa confortável para leitura */
  max-height: 100%;
  overflow-y: auto; /* Permite rolagem apenas no texto se for muito longo */
  padding-right: 15px; /* Respiro para a barra de rolagem */
  font-family: var(--gal-font);
}

/* Customizando a barra de rolagem do texto para ficar elegante */
.lightbox-info-col::-webkit-scrollbar { width: 4px; }
.lightbox-info-col::-webkit-scrollbar-track { background: transparent; }
.lightbox-info-col::-webkit-scrollbar-thumb { background: #444; border-radius: 4px; }

/* Tipografia da Ficha Técnica */
.ft-line {
  margin-bottom: var(--ft-margin-bottom);
}
.ft-line:last-child { margin-bottom: 0; }

.ft-label {
  font-weight: var(--ft-label-weight);
  color: var(--ft-label-color);
  font-size: var(--ft-label-size);
  font-style: var(--ft-label-style);
}

.ft-text {
  font-weight: var(--ft-text-weight);
  color: var(--ft-text-color);
  font-size: var(--ft-text-size);
  font-style: var(--ft-text-style);
  line-height: var(--ft-line-height);
  letter-spacing: var(--ft-letter-spacing);
}

/* =========================================
   RESPONSIVIDADE (Tablet e Mobile)
   ========================================= */
@media (max-width: 1024px) {
  /* Grid da Galeria */
  .lucas-portfolio-gallery { grid-template-columns: repeat(4, 1fr); }
  .vertical { grid-column: span 2; } 
  .horizontal { grid-column: span 4; } 
  
  /* Lightbox - Tablet Portrait & Mobile (Empilhado) */
  .lightbox-content {
    flex-direction: column; /* Imagem em cima, texto embaixo */
    align-items: center;
    justify-content: flex-start;
    height: 90vh;
    overflow-y: auto; /* Rolagem na tela inteira agora */
  }
  
  .lightbox-img-col {
    align-items: center;
    height: auto;
    max-height: 60vh; /* Limita a imagem para sobrar espaço pro texto */
  }
  
  .lightbox-info-col {
    width: 100%;
    max-width: 600px;
    justify-content: flex-start;
    padding-right: 0;
    margin-top: 20px; /* Espaço entre imagem e texto no mobile */
    overflow-y: visible;
  }
}

@media (max-width: 768px) {
  .lucas-portfolio-gallery { grid-template-columns: 1fr; gap: var(--gal-gap-mobile); }
  .vertical, .horizontal { grid-column: span 1; }
  
  .close-lightbox { top: 10px; right: 20px; font-size: 35px; }
}/* End custom CSS */