
html,body{overflow-x:hidden;scroll-behavior:smooth;}
img{max-width:100%;height:auto;}
body{background:#0b1220;}
.wp-block-group.has-background{background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;}
.wp-block-columns{flex-wrap:wrap!important;gap:24px!important;}
.wp-block-column{min-width:0!important;}
.wp-block-jetpack-slideshow,.wp-block-gallery,.swiper,.swiper-wrapper{max-width:100%!important;overflow:hidden!important;}
.wp-block-jetpack-slideshow img,.wp-block-gallery img,.swiper img{width:100%!important;height:auto!important;object-fit:cover!important;}
iframe,.wp-block-jetpack-map iframe{max-width:100%!important;width:100%!important;}
form,.wp-block-jetpack-contact-form,.wp-block-jetpack-map{position:relative!important;z-index:1!important;}
#wpcom_request_access_iframe,.wpcom_remote_login_msg,#wpcom_remote_login_key,#wpcom_remote_login_validate,#wpcom_remote_login_js,.actnbr-actionbar,#actionbar,.jp-sharing-input-touch .sd-content ul,.sd-content{display:none!important;}
/* Main navigation */
header .wp-block-navigation__container,
.wp-block-navigation__container.is-responsive{ display:flex!important; align-items:center!important; justify-content:center!important; gap:18px!important; flex-wrap:wrap!important; width:100%!important; padding:0!important; margin:0!important;
}
header .wp-block-navigation-item,
.wp-block-navigation .wp-block-navigation-item{margin:0!important; list-style:none!important;}
header .wp-block-navigation-item__content,
.wp-block-navigation-item__content{ display:inline-flex!important; align-items:center!important; justify-content:center!important; padding:10px 14px!important; border-radius:999px!important; text-decoration:none!important;
}
header .wp-block-navigation-item__content:hover{background:rgba(255,255,255,.08)!important;}
/* Hero */
#Inicio{min-height:92vh!important; display:flex!important; align-items:center!important;}
#Inicio .wp-block-group{width:100%!important; max-width:1200px!important; margin:0 auto!important; padding:0!important;}
.je-hero-content{display:flex; align-items:center; min-height:72vh;}
.je-hero-copy{max-width:640px; color:#fff; padding:32px 0;}
.je-kicker{display:inline-block; margin-bottom:16px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); font-size:13px; letter-spacing:.08em; text-transform:uppercase;}
.je-hero-copy h1{font-size:clamp(2.5rem,6vw,4.8rem); line-height:1.02; margin:0 0 6px; color:#fff; font-weight:800;}
.je-subtitle{font-size:clamp(1.1rem,2vw,1.6rem); margin:0 0 18px; color:#8fd3ff; font-weight:700; letter-spacing:.05em; text-transform:uppercase;}
.je-description{font-size:1.05rem; line-height:1.7; margin:0 0 26px; color:rgba(255,255,255,.92); max-width:54ch;}
.je-hero-actions{display:flex; flex-wrap:wrap; gap:14px;}
.je-btn{display:inline-flex; align-items:center; justify-content:center; min-width:180px; padding:14px 22px; border-radius:14px; text-decoration:none; font-weight:700; transition:.2s ease; box-shadow:0 10px 25px rgba(0,0,0,.2);}
.je-btn-primary{background:#1696e7; color:#fff;}
.je-btn-primary:hover{transform:translateY(-1px); background:#1ca4f7;}
.je-btn-secondary{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.18);}
.je-btn-secondary:hover{background:rgba(255,255,255,.14);}
/* Contact cards */
.je-contact-cards{display:grid; gap:14px;}
.je-contact-card{display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:18px; text-decoration:none!important; color:#f8fbff!important; background:linear-gradient(180deg, rgba(14,37,58,.92), rgba(7,20,34,.96)); border:1px solid rgba(143,211,255,.18); box-shadow:0 12px 30px rgba(3,8,15,.24);}
.je-contact-card:hover{transform:translateY(-1px); border-color:rgba(143,211,255,.35);}
.je-contact-icon{display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,.08); color:#8fd3ff; flex:0 0 auto;}
.je-whatsapp .je-contact-icon{color:#25d366;}
.je-email .je-contact-icon{color:#8fd3ff;}
.je-contact-text{display:flex; flex-direction:column; line-height:1.25;}
.je-contact-text strong{font-size:1rem; color:#fff;}
.je-contact-text small{font-size:.92rem; color:rgba(255,255,255,.82);}
/* Contact section modern form */
#Contactos .wp-block-columns{align-items:start!important; gap:32px!important;}
.je-modern-form form, .je-modern-form{background:rgba(7,20,34,.70); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:22px!important; box-shadow:0 20px 40px rgba(4,10,18,.25);}
.je-modern-form label{font-weight:700!important; color:#f3f8fd!important; margin-bottom:8px!important; display:block!important;}
.je-modern-form input[type="text"],
.je-modern-form input[type="email"],
.je-modern-form textarea,
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{ width:100%!important; border-radius:16px!important; border:1px solid rgba(143,211,255,.22)!important; background:rgba(255,255,255,.96)!important; color:#102133!important; padding:14px 16px!important; box-shadow:none!important;
}
.je-modern-form textarea, .contact-form textarea{min-height:180px!important; resize:vertical!important;}
.je-modern-form .wp-block-button__link, .contact-form .wp-block-button__link, .contact-form button{ border-radius:16px!important; background:#1696e7!important; color:#fff!important; padding:14px 22px!important; border:none!important; font-weight:700!important;
}
.je-modern-form .wp-block-button__link:hover, .contact-form button:hover{background:#1ca4f7!important;}
/* Footer menu alignment */
footer .wp-block-navigation__container,
.wp-block-group .wp-block-navigation__container.has-small-font-size{ display:grid!important; gap:8px!important;
}
footer .wp-block-navigation-item__content,
.wp-block-group .wp-block-navigation-item__content{padding:6px 0!important; border-radius:0!important;}
/* Main title branding in footer */
.wp-block-site-title a{font-weight:800!important; letter-spacing:.02em;}
/* Responsive */
@media (max-width: 900px){ .wp-block-columns{display:block!important;} .wp-block-column{width:100%!important;margin-bottom:24px!important;} #Inicio{min-height:auto!important;} .je-hero-content{min-height:auto; padding:48px 0;} .je-hero-copy h1{font-size:2.6rem;}
} /* Premium sticky header */
.je-sticky-header,
header.wp-block-template-part,
header{ position:sticky!important; top:0; z-index:9999; backdrop-filter:blur(10px); background:rgba(8,16,27,.86)!important; border-bottom:1px solid rgba(143,211,255,.14); box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.admin-bar .je-sticky-header,
.admin-bar header{top:0!important;}
header .wp-block-group,
header .wp-block-columns{align-items:center!important;}
header .wp-block-navigation-item__content{ font-weight:700!important; color:#f4fbff!important; transition:all .2s ease!important;
}
header .wp-block-navigation-item__content:hover{ color:#8fd3ff!important; background:rgba(143,211,255,.10)!important;
}
header .wp-block-site-logo img,
header .custom-logo,
header .wp-block-site-title img{ max-height:54px!important;
}
header .wp-block-site-title a{ color:#fff!important; font-weight:800!important; letter-spacing:.02em!important;
} /* Section image/text split */
.je-split{ display:grid; grid-template-columns:minmax(280px, 460px) minmax(320px, 1fr); gap:36px; align-items:center; margin:24px 0 10px;
}
.je-split-right{ grid-template-columns:minmax(320px, 1fr) minmax(280px, 460px);
}
.je-split-image{ width:100%; max-width:460px; border-radius:24px; object-fit:cover; box-shadow:0 22px 46px rgba(4,10,18,.28); border:1px solid rgba(143,211,255,.14); background:#0e1e30;
}
.je-split-left .je-split-image{justify-self:start;}
.je-split-right .je-split-image{justify-self:end;}
.je-split-copy h2{ margin-top:0!important;
}
.je-split-copy p{ font-size:1.02rem!important; line-height:1.8!important;
} /* Better general section spacing */
section, .wp-block-group, .wp-block-cover, .wp-block-columns{ scroll-margin-top:100px;
}
#Quem-somos, #Serviços, #Contactos{position:relative;}
.wp-block-heading{ letter-spacing:.01em;
} /* Premium cards/animation feel */
.je-contact-card,
.je-btn,
.je-split-image,
.je-modern-form{ transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.je-split-image:hover,
.je-modern-form:hover{ transform:translateY(-2px);
}
.je-contact-card:hover,
.je-btn:hover{ box-shadow:0 18px 38px rgba(4,10,18,.28);
} /* Footer refinement */
footer{ background:#09131f!important;
}
footer a{color:#cdeeff!important;}
footer a:hover{color:#8fd3ff!important;} /* Mobile */
@media (max-width: 900px){ .je-split, .je-split-right{ grid-template-columns:1fr; gap:20px; } .je-split-right .je-split-copy{order:1;} .je-split-right .je-split-image{order:2; justify-self:start;}
}


/* Cleanup helpers */
.wp-footer-legacy, .legacy-mirror, .legacy-footer, .legacy-notice { display:none !important; }

/* Exact section layout requested */
.je-split{
  display:grid !important;
  grid-template-columns: minmax(340px, 1fr) minmax(320px, 460px) !important;
  gap:32px !important;
  align-items:center !important;
  margin:28px 0 18px !important;
}
.je-split-copy{
  width:100% !important;
}
.je-split-copy h2{
  margin:0 0 12px !important;
}
.je-split-copy p{
  margin:0 !important;
  line-height:1.85 !important;
}
.je-split-media{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
}
.je-quem-somos .je-split-copy{order:1 !important;}
.je-quem-somos .je-split-media{order:2 !important; justify-content:flex-end !important;}

.je-oque-fazemos .je-split-media{order:1 !important; justify-content:flex-start !important;}
.je-oque-fazemos .je-split-copy{order:2 !important;}

.je-split-image{
  width:100% !important;
  max-width:440px !important;
  display:block !important;
  border-radius:22px !important;
  object-fit:cover !important;
}

@media (max-width: 900px){
  .je-split{
    grid-template-columns: 1fr !important;
    gap:18px !important;
  }
  .je-quem-somos .je-split-copy,
  .je-quem-somos .je-split-media,
  .je-oque-fazemos .je-split-copy,
  .je-oque-fazemos .je-split-media{
    order:initial !important;
    justify-content:flex-start !important;
  }
}


/* Safe footer refinement */
footer,
.site-footer,
footer.wp-block-template-part{
  background:#08111b !important;
  background-image:none !important;
  color:#eef6ff !important;
}
footer *{color:#eef6ff !important;}
footer a{color:#cdeeff !important; text-decoration:none !important;}
footer a:hover{color:#ffffff !important;}

footer .wp-social-link-linkedin,
footer a[href*="linkedin"]{display:none !important;}

footer p:has(a[href*="wordpress.org"]),
footer .wp-block-paragraph:has(a[href*="wordpress.org"]){display:none !important;}

/* hide original footer social chips to avoid duplicates/breakage */
footer .wp-block-social-links{display:none !important;}

.je-footer-bar{
  margin-top:18px !important;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:18px !important;
}
.je-footer-bar-inner{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}
.je-footer-action{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-decoration:none !important;
}
.je-footer-wa{color:#25d366 !important;}
.je-footer-mail{color:#8fd3ff !important;}
.je-footer-action span:last-child{
  color:#eef6ff !important;
  font-weight:700 !important;
}
.je-footer-icon{display:grid; place-items:center;}

/* force uploaded logo */
.wp-block-site-logo img,
.custom-logo-link img,
footer .wp-block-site-logo img,
header .wp-block-site-logo img{
  content: none;
  max-height:64px !important;
  width:auto !important;
  object-fit:contain !important;
}

.je-quem-fix{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
}
.je-quem-text{
  width:60% !important;
}
.je-quem-img{
  width:40% !important;
  display:flex;
  justify-content:center;
}
.je-quem-img img{
  max-width:100%;
  border-radius:20px;
}
@media(max-width:900px){
  .je-quem-fix{
    flex-direction:column;
  }
  .je-quem-text,
  .je-quem-img{
    width:100% !important;
  }
}

.je-oque-fix{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
}
.je-oque-text{
  width:60% !important;
}
.je-oque-img{
  width:40% !important;
  display:flex;
  justify-content:center;
}
.je-oque-img img{
  max-width:100%;
  border-radius:20px;
}
@media(max-width:900px){
  .je-oque-fix{
    flex-direction:column;
  }
  .je-oque-text,
  .je-oque-img{
    width:100% !important;
  }
}

/* Remove hamburger / mobile menu */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{
  display:none !important;
}

/* Force menu always visible */
.wp-block-navigation__container{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:20px !important;
}

/* Prevent overlay menu behavior */
.wp-block-navigation__responsive-container{
  position:static !important;
  height:auto !important;
  width:auto !important;
  transform:none !important;
  background:transparent !important;
}


/* Premium menu */
header,
.je-sticky-header{
  backdrop-filter: blur(12px) !important;
  background: rgba(7,18,31,.88) !important;
  border-bottom: 1px solid rgba(143,211,255,.16) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
}

.wp-block-navigation{
  width: 100% !important;
}

.wp-block-navigation__container{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap: 22px !important;
  flex-wrap: wrap !important;
}

.wp-block-navigation-item__content{
  position: relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 10px 4px !important;
  border-radius: 0 !important;
  color: #eef6ff !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  transition: color .22s ease, opacity .22s ease !important;
}

.wp-block-navigation-item__content:hover{
  color: #8fd3ff !important;
  background: transparent !important;
  opacity: 1 !important;
}

.wp-block-navigation-item__content::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 2px !important;
  width: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #38bdf8, #8fd3ff) !important;
  transition: width .22s ease !important;
}

.wp-block-navigation-item__content:hover::after,
.wp-block-navigation-item__content[aria-current="page"]::after{
  width: 100% !important;
}

.wp-block-navigation-item__content[aria-current="page"]{
  color: #8fd3ff !important;
}

@media (max-width: 900px){
  .wp-block-navigation__container{
    gap: 14px !important;
  }
  .wp-block-navigation-item__content{
    padding: 8px 2px !important;
    font-size: .96rem !important;
  }
}


/* === Ajustes solicitados: menu à esquerda + seções corrigidas === */
header .wp-block-group.alignwide.is-content-justification-space-between{
  justify-content:flex-start !important;
  gap:32px !important;
}
.je-main-nav{
  flex:1 1 auto !important;
}
header .je-main-nav .wp-block-navigation__container{
  justify-content:flex-start !important;
  width:100% !important;
  margin-left:0 !important;
}
header .je-main-nav .wp-block-navigation-item__content{
  justify-content:flex-start !important;
  text-align:left !important;
}

/* Quem Somos: imagem à esquerda e texto ao lado */
#Quem-Somos > .je-quem-section{
  display:grid !important;
  grid-template-columns:minmax(280px, 440px) minmax(320px, 1fr) !important;
  gap:36px !important;
  align-items:center !important;
}
#Quem-Somos .je-quem-image-col{order:1 !important;}
#Quem-Somos .je-quem-text-col{order:2 !important;}
#Quem-Somos .je-quem-text-col > .wp-block-spacer{display:none !important;}
#Quem-Somos .je-quem-text-col{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
#Quem-Somos .je-quem-image-col img{
  width:100% !important;
  max-width:440px !important;
  height:auto !important;
  display:block !important;
  border-radius:24px !important;
  box-shadow:0 22px 46px rgba(4,10,18,.28) !important;
}

/* O que fazemos: texto em coluna e imagem centralizada no meio */
.je-oque-section{display:block !important;}
.je-oque-section .je-oque-text-col{
  max-width:860px !important;
  margin:0 auto !important;
}
.je-oque-section .wp-block-columns{display:none !important;}
.je-oque-center-image{
  display:flex !important;
  justify-content:center !important;
}
.je-oque-center-image img{
  width:100% !important;
  max-width:420px !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  border-radius:24px !important;
  box-shadow:0 22px 46px rgba(4,10,18,.28) !important;
}
.je-oque-section h1,
.je-oque-section h2,
.je-oque-section h3,
.je-oque-section p{text-align:left !important;}
.je-oque-section h1{margin-bottom:8px !important;}
.je-oque-section p{max-width:100% !important;}

@media (max-width: 900px){
  header .wp-block-group.alignwide.is-content-justification-space-between{gap:18px !important;}
  #Quem-Somos > .je-quem-section{grid-template-columns:1fr !important;}
  .je-oque-center-image img{max-width:100% !important;}
}

/* === Ajuste final solicitado: menu à direita e imagem à esquerda em O que fazemos === */
header .wp-block-group.alignwide.is-content-justification-space-between{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

header .je-main-nav{
  margin-left:auto !important;
  display:flex !important;
  justify-content:flex-end !important;
}

header .je-main-nav > div,
header .je-main-nav .wp-block-navigation__responsive-close,
header .je-main-nav .wp-block-navigation__responsive-dialog,
header .je-main-nav .wp-block-navigation__container{
  width:100% !important;
}

header .je-main-nav .wp-block-navigation__container{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:18px !important;
  width:auto !important;
}

/* O que fazemos: título em cima, imagem à esquerda e texto ao lado */
.je-oque-section{
  display:block !important;
}

.je-oque-text-col{
  display:block !important;
  width:100% !important;
  max-width:1200px !important;
}

.je-oque-text-col::after{
  content:"";
  display:block;
  clear:both;
}

.je-oque-text-col > h1{
  margin-bottom:18px !important;
}

.je-oque-center-image{
  float:left !important;
  width:min(42%, 430px) !important;
  max-width:430px !important;
  margin:8px 32px 18px 0 !important;
}

.je-oque-center-image img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:22px !important;
  box-shadow:0 18px 40px rgba(4,10,18,.24) !important;
}

.je-oque-text-col h3,
.je-oque-text-col p,
.je-oque-text-col h2{
  text-align:left !important;
}

@media (max-width: 900px){
  header .je-main-nav .wp-block-navigation__container{
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
  }

  .je-oque-center-image{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 20px 0 !important;
  }
}


/* === v18: galeria contínua mais suave, mapa refinado e rodapé com mesma estrutura === */
.je-auto-gallery{
  width:min(1320px, calc(100% - 28px)) !important;
  margin:56px auto 24px !important;
  padding:18px 0 30px !important;
}
.je-auto-gallery__shell{
  position:relative !important;
  background:linear-gradient(180deg, #02060b, #09121d) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:28px !important;
  box-shadow:0 26px 60px rgba(0,0,0,.35) !important;
  overflow:hidden !important;
  padding:18px 0 !important;
}
.je-auto-gallery__shell::before,
.je-auto-gallery__shell::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:90px;
  z-index:3;
  pointer-events:none;
}
.je-auto-gallery__shell::before{left:0; background:linear-gradient(90deg, rgba(2,6,11,1), rgba(2,6,11,0));}
.je-auto-gallery__shell::after{right:0; background:linear-gradient(270deg, rgba(2,6,11,1), rgba(2,6,11,0));}
.je-auto-gallery__viewport{overflow:hidden !important;}
.je-auto-gallery__track{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  width:max-content !important;
  animation:jeGalleryScroll 42s linear infinite !important;
  will-change:transform;
}
.je-auto-gallery:hover .je-auto-gallery__track{animation-play-state:paused !important;}
.je-auto-gallery__item{
  margin:0 !important;
  flex:0 0 340px !important;
  width:340px !important;
  height:228px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#0a121b !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28) !important;
}
.je-auto-gallery__item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .45s ease, filter .45s ease !important;
  filter:contrast(1.03) saturate(1.02) !important;
}
.je-auto-gallery__item:hover img{transform:scale(1.06) !important;}
@keyframes jeGalleryScroll{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 11px));}}

.je-map-embed{
  width:100% !important;
  min-height:380px !important;
  margin-top:28px !important;
  overflow:hidden !important;
  border-radius:26px !important;
  border:1px solid rgba(143,211,255,.18) !important;
  background:#08111b !important;
  box-shadow:0 24px 54px rgba(3,8,15,.30) !important;
}
.je-map-embed iframe{
  width:100% !important;
  min-height:380px !important;
  height:100% !important;
  border:0 !important;
  display:block !important;
  filter:grayscale(.08) contrast(1.04) saturate(.95) !important;
}

/* mantém o layout atual do rodapé e troca apenas a cor */
main > .wp-block-group.has-base-2-color.has-text-color.has-global-padding.is-content-justification-center.is-layout-constrained.wp-container-core-group-is-layout-819a37e6.wp-block-group-is-layout-constrained.has-background{
  background:#050b12 !important;
  background-image:none !important;
}
main > .wp-block-group.has-base-2-color.has-text-color.has-global-padding.is-content-justification-center.is-layout-constrained.wp-container-core-group-is-layout-819a37e6.wp-block-group-is-layout-constrained.has-background *{
  color:#eef6ff !important;
}
main > .wp-block-group.has-base-2-color.has-text-color.has-global-padding.is-content-justification-center.is-layout-constrained.wp-container-core-group-is-layout-819a37e6.wp-block-group-is-layout-constrained.has-background a{
  color:#d9eeff !important;
}
main > .wp-block-group.has-base-2-color.has-text-color.has-global-padding.is-content-justification-center.is-layout-constrained.wp-container-core-group-is-layout-819a37e6.wp-block-group-is-layout-constrained.has-background a:hover{
  color:#ffffff !important;
}

@media (max-width: 900px){
  .je-auto-gallery{
    width:min(100%, calc(100% - 18px)) !important;
    margin:34px auto 12px !important;
  }
  .je-auto-gallery__shell{border-radius:20px !important; padding:12px 0 !important;}
  .je-auto-gallery__shell::before,
  .je-auto-gallery__shell::after{width:42px !important;}
  .je-auto-gallery__track{gap:14px !important; animation-duration:28s !important;}
  .je-auto-gallery__item{flex-basis:255px !important; width:255px !important; height:180px !important; border-radius:16px !important;}
  .je-map-embed,
  .je-map-embed iframe{min-height:300px !important; border-radius:20px !important;}
}


/* === v21: fotos do utilizador melhoradas, sobreposição nos pilares e galeria atualizada === */
.je-quem-updated-image img{
  border-radius:24px !important;
  box-shadow:0 24px 48px rgba(0,0,0,.26) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  object-fit:cover !important;
}

.je-pilares-grid{
  gap:24px !important;
  align-items:stretch !important;
  flex-wrap:wrap !important;
}
.je-pilar-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  flex:1 1 280px !important;
  min-width:260px !important;
  max-width:380px !important;
  margin:0 !important;
  box-shadow:0 18px 40px rgba(0,0,0,.24) !important;
}
.je-pilar-card img{
  width:100% !important;
  height:420px !important;
  object-fit:cover !important;
  display:block !important;
  filter:contrast(1.08) saturate(1.03) brightness(.90) !important;
  transition:transform .35s ease, filter .35s ease !important;
}
.je-pilar-card:hover img{
  transform:scale(1.04) !important;
  filter:contrast(1.1) saturate(1.05) brightness(.95) !important;
}
.je-pilar-overlay{
  position:absolute !important;
  inset:auto 0 0 0 !important;
  margin:0 !important;
  padding:28px 22px 20px !important;
  background:linear-gradient(180deg, rgba(2,8,14,0) 0%, rgba(2,8,14,.35) 32%, rgba(2,8,14,.88) 100%) !important;
  color:#fff !important;
  text-align:left !important;
  font-family:var(--wp--preset--font-family--rubik), sans-serif !important;
  font-size:1.5rem !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}
.je-pilar-overlay span{
  display:inline-block !important;
  color:#fff !important;
  text-shadow:0 4px 18px rgba(0,0,0,.4) !important;
}

.je-auto-gallery__item img{
  filter:contrast(1.08) saturate(1.04) brightness(.94) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

@media (max-width: 900px){
  .je-pilares-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .je-pilar-card{
    max-width:none !important;
  }
  .je-pilar-card img{
    height:360px !important;
  }
}


/* v43 custom */
.je-quem-section{align-items:flex-start !important;}
.je-quem-image-col,.je-quem-text-col{align-self:flex-start !important;}
.je-quem-text-col{padding-top:0 !important;}
.je-quem-inline-title{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 20px !important;
  padding:12px 34px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(8,18,31,.82) 0%, rgba(9,23,39,.72) 100%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.26), inset 0 0 16px rgba(255,255,255,.04) !important;
  color:#fff !important;
  font-family:var(--wp--preset--font-family--rubik),var(--wp--preset--font-family--body),sans-serif !important;
  font-size:clamp(1.7rem,2.2vw,2.3rem) !important;
  font-style:normal !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.45) !important;
}
.je-quem-text-col h3{
  font-size:clamp(1.08rem,1.35vw,1.28rem) !important;
  line-height:1.2 !important;
  margin:0 0 8px !important;
}
.je-quem-text-col p{
  font-size:clamp(.97rem,1vw,1.02rem) !important;
  line-height:1.55 !important;
  margin:0 0 16px !important;
}

.je-pilares-grid{
  gap:26px !important;
  align-items:stretch !important;
}
.je-pilar-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:22px !important;
  box-shadow:0 18px 30px rgba(0,0,0,.18) !important;
}
.je-pilar-card img{
  width:100% !important;
  height:100% !important;
  min-height:520px !important;
  object-fit:cover !important;
  display:block !important;
}
.je-pilar-overlay{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:18px !important;
  z-index:2 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  margin:0 !important;
}
.je-pilar-overlay span{
  color:#fff !important;
  font-family:var(--wp--preset--font-family--rubik),var(--wp--preset--font-family--body),sans-serif !important;
  font-size:clamp(1.12rem,1.3vw,1.34rem) !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  text-shadow:0 3px 14px rgba(0,0,0,.6) !important;
}
.je-pilar-card::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:0 !important; bottom:0 !important;
  height:32% !important;
  background:linear-gradient(to top, rgba(7,17,29,.72) 0%, rgba(7,17,29,.35) 48%, rgba(7,17,29,0) 100%) !important;
  pointer-events:none !important;
}
@media (max-width: 900px){
  .je-pilar-card img{min-height:320px !important;}
  .je-pilar-overlay{bottom:14px !important;}
}


/* v50: requested image swaps and slightly larger 3 pilares text */
.je-pilar-overlay span{
  font-size: clamp(1.28rem, 1.7vw, 1.55rem) !important;
  line-height: 1.12 !important;
}


/* v52 custom */
.je-quem-updated-image img{
  width:650px !important;
  max-width:100% !important;
  height:auto !important;
}
.je-quem-text-col{
  padding-top:4px !important;
}
.je-quem-text-col h3{
  font-size:clamp(1.16rem,1.5vw,1.38rem) !important;
  line-height:1.18 !important;
  margin:0 0 10px !important;
}
.je-quem-text-col p{
  font-size:clamp(1.05rem,1.08vw,1.12rem) !important;
  line-height:1.64 !important;
  margin:0 0 18px !important;
}
.je-oque-inline-title{
  margin:0 0 24px !important;
}


/* v58: reliable local video, fills the existing video area without changing layout */
figure.wp-block-video.je-video-full{
  width:100% !important;
  margin:0 auto !important;
}
figure.wp-block-video.je-video-full video{
  display:block !important;
  width:100% !important;
  height:min(78vh, 720px) !important;
  max-height:min(78vh, 720px) !important;
  object-fit:cover !important;
  border-radius:22px !important;
  background:#000 !important;
}
@media (max-width: 900px){
  figure.wp-block-video.je-video-full video{
    height:min(56vh, 520px) !important;
    max-height:min(56vh, 520px) !important;
    border-radius:16px !important;
  }
}


/* v60 premium refinements keeping existing layout */

/* VIDEO: still within same layout, slightly smaller and more polished */
figure.wp-block-video.je-video-full,
.wp-block-video{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

figure.wp-block-video.je-video-full::after,
.wp-block-video::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,12,20,.22), rgba(6,12,20,.06));
  pointer-events: none;
  border-radius: inherit;
}

figure.wp-block-video.je-video-full video,
.wp-block-video video{
  width: 100% !important;
  height: 56vh !important;
  max-height: 560px !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 46px rgba(0,0,0,.22) !important;
  background: #000 !important;
}

@media (max-width: 900px){
  figure.wp-block-video.je-video-full video,
  .wp-block-video video{
    height: 42vh !important;
    max-height: 420px !important;
    min-height: 240px !important;
    border-radius: 16px !important;
  }
}

/* FOOTER: keep structure, improve readability, shorter height */
footer,
.wp-block-group.footer,
.site-footer,
footer.wp-block-template-part{
  background: linear-gradient(180deg, rgba(8,15,26,.96), rgba(8,15,26,.98)) !important;
  color: #f2f4f7 !important;
  padding-top: 24px !important;
  padding-bottom: 18px !important;
  position: relative !important;
}

footer::before,
.site-footer::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.18);
  pointer-events: none;
}

footer > *,
.site-footer > *{
  position: relative;
  z-index: 1;
}

footer h2,
footer h3,
.site-footer h2,
.site-footer h3{
  display: none !important;
}

footer .wp-block-columns,
.site-footer .wp-block-columns{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin: 0 !important;
}

footer .wp-block-column,
.site-footer .wp-block-column{
  margin: 0 !important;
}

footer .wp-block-column:first-child,
.site-footer .wp-block-column:first-child{
  flex: 1 1 auto !important;
  max-width: 52% !important;
  text-align: left !important;
}

footer .wp-block-column:last-child,
.site-footer .wp-block-column:last-child{
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
  gap: 8px !important;
}

footer p,
footer li,
footer a,
.site-footer p,
.site-footer li,
.site-footer a{
  color: #d7dde6 !important;
  font-size: .98rem !important;
  line-height: 1.45 !important;
}

footer a,
.site-footer a{
  text-decoration: none !important;
  transition: color .18s ease, opacity .18s ease !important;
}

footer a:hover,
.site-footer a:hover{
  color: #ffffff !important;
  opacity: 1 !important;
}

footer ul,
.site-footer ul{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

footer li,
.site-footer li{
  margin: 0 0 6px 0 !important;
}

@media (max-width: 900px){
  footer .wp-block-columns,
  .site-footer .wp-block-columns{
    flex-direction: column !important;
    gap: 18px !important;
  }

  footer .wp-block-column:first-child,
  footer .wp-block-column:last-child,
  .site-footer .wp-block-column:first-child,
  .site-footer .wp-block-column:last-child{
    max-width: 100% !important;
    width: 100% !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}


/* v61: gallery loading/performance improvements */
.galeria img,
.gallery img,
[class*="galeria"] img,
[class*="gallery"] img,
[class*="slider"] img,
[class*="carousel"] img{
  content-visibility: auto;
  contain-intrinsic-size: 300px 200px;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.galeria,
.gallery,
[class*="galeria"],
[class*="gallery"],
[class*="slider"],
[class*="carousel"]{
  will-change: transform;
}


/* v63: corrected gallery HTML + smoother automatic run */
.je-auto-gallery{
  width:min(1320px, calc(100% - 28px)) !important;
  margin:56px auto 24px !important;
  padding:18px 0 30px !important;
}
.je-auto-gallery__shell{
  position:relative !important;
  background:linear-gradient(180deg, #02060b, #09121d) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:28px !important;
  box-shadow:0 26px 60px rgba(0,0,0,.35) !important;
  overflow:hidden !important;
  padding:18px 0 !important;
}
.je-auto-gallery__viewport{
  overflow:hidden !important;
}
.je-auto-gallery__track{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  width:max-content !important;
  animation:jeGalleryScroll 34s linear infinite !important;
  will-change:transform !important;
}
.je-auto-gallery:hover .je-auto-gallery__track{
  animation-play-state:paused !important;
}
.je-auto-gallery__item{
  margin:0 !important;
  flex:0 0 340px !important;
  width:340px !important;
  height:228px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#0a121b !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28) !important;
}
.je-auto-gallery__item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .45s ease, filter .45s ease !important;
  filter:contrast(1.03) saturate(1.02) !important;
}
.je-auto-gallery__item:hover img{
  transform:scale(1.06) !important;
}
@keyframes jeGalleryScroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 11px));}
}
@media (max-width: 900px){
  .je-auto-gallery__item{
    flex:0 0 270px !important;
    width:270px !important;
    height:190px !important;
  }
  .je-auto-gallery__track{
    gap:16px !important;
    animation-duration:28s !important;
  }
}


/* ===== v65 SERVIÇOS PREMIUM ===== */
.servicos .wp-block-column,
[class*="servico"]{
  transition: transform .35s ease, box-shadow .35s ease;
}

.servicos .wp-block-column:hover,
[class*="servico"]:hover{
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 45px rgba(0,0,0,.35);
}

.servicos img{
  border-radius: 18px;
  transition: transform .4s ease;
}

.servicos img:hover{
  transform: scale(1.05);
}

/* ===== v65 FOOTER DARK PREMIUM ===== */
footer,
.site-footer,
.wp-block-group.footer{
  background: linear-gradient(180deg,#0a1624,#050b14) !important;
  color:#e6edf5 !important;
  border-top:1px solid rgba(255,255,255,.08);
}

footer a{
  color:#c9d4e2 !important;
}

footer a:hover{
  color:#ffffff !important;
}

footer{
  padding:25px 20px !important;
}

/* subtle glow */
footer::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at top, rgba(255,255,255,.05), transparent 60%);
  pointer-events:none;
}


/* v66 FORCE FOOTER DARK (override everything) */
footer, 
.site-footer, 
footer.wp-block-template-part,
.wp-block-group.footer{
  background:#07121f !important;
  background-image:none !important;
  color:#e6edf5 !important;
}

footer *{
  color:#e6edf5 !important;
}

footer a{
  color:#cbd6e2 !important;
}

footer a:hover{
  color:#ffffff !important;
}
