/* Página inicial "long page" — só blocos normais do WordPress (Grupo,Título,Parágrafo,Imagem,Colunas,Botões,Galeria).
   As classes jxh-* estão em "Avançado → Classes CSS adicionais" de cada bloco; o texto e as imagens editam-se normalmente. */
body.jxh-on{scroll-behavior:smooth}
body.jxh-on .wp-site-blocks{padding:0 !important}
body.jxh-on .wp-site-blocks>*{margin-block-start:0 !important}
body.jxh-on .wp-block-post-content{max-width:none !important;padding:0 !important;margin:0 !important}
body.jxh-on .jxh-page{--h-max:1080px;--h-pad:max(20px,env(safe-area-inset-left,0px))}
body.jxh-on .jxh-page>*{margin-block:0 !important}

/* ---------- barra de navegação ---------- */
body.jxh-on .jxh-nav{position:sticky;top:0;z-index:50;display:flex !important;align-items:center;justify-content:space-between;gap:16px;
  padding:12px var(--h-pad) !important;margin:0 !important;max-width:none !important;
  background:color-mix(in srgb,var(--k-bg) 78%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--k-rule)}
body.admin-bar .jxh-nav{top:32px}
@media (max-width:782px){body.admin-bar .jxh-nav{top:46px}}
body.jxh-on .jxh-nav>p{margin:0 !important}
body.jxh-on .jxh-nav .jxh-brand,body.jxh-on .jxh-nav .jxh-brand a{font:800 19px/1.1 var(--k-display) !important;letter-spacing:-.04em !important;color:var(--k-ink) !important;text-decoration:none !important;white-space:nowrap}
body.jxh-on .jxh-nav .jxh-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;font-size:14.5px !important}
body.jxh-on .jxh-nav .jxh-links::-webkit-scrollbar{display:none}
body.jxh-on .jxh-nav .jxh-links a{color:var(--k-ink2) !important;text-decoration:none !important;padding:6px 11px;border-radius:999px;white-space:nowrap;font-weight:500}
body.jxh-on .jxh-nav .jxh-links a:hover{color:var(--k-ink) !important;background:var(--k-surface2)}
body.jxh-on .jxh-nav .jxh-links a.cur{background:var(--k-chip);color:var(--k-chip-ink) !important}

/* ---------- secções ---------- */
body.jxh-on .jxh-sec{max-width:var(--h-max) !important;margin-inline:auto !important;padding:clamp(64px,10vw,120px) var(--h-pad) 0 !important;scroll-margin-top:56px}
body.jxh-on .jxh-sec:last-child{padding-bottom:40px !important}
body.jxh-on .jxh-page p.jxh-eb{font:700 12.5px/1.2 var(--k-text) !important;letter-spacing:.08em !important;text-transform:uppercase;color:var(--k-ink3) !important;margin:0 0 10px !important}
body.jxh-on .jxh-page h2.wp-block-heading{font-size:clamp(26px,3vw,36px) !important;margin:0 0 14px !important;text-align:left !important}
body.jxh-on .jxh-page h2 em,body.jxh-on .jxh-page h1 em{font-style:normal;color:var(--k-ink2) !important}
body.jxh-on .jxh-page p.jxh-lead{font-size:clamp(17px,1.5vw,19px) !important;line-height:1.5 !important;color:var(--k-ink2) !important;max-width:58ch;margin:0 0 28px !important}
body.jxh-on .jxh-page .wp-block-columns{gap:16px !important;margin:0 !important;max-width:none !important;padding:0 !important}

/* ---------- abertura ---------- */
body.jxh-on .jxh-hero{min-height:min(64vh,600px);display:flex !important;flex-direction:column;justify-content:center;padding-top:clamp(40px,8vh,90px) !important;padding-bottom:0 !important}
body.jxh-on .jxh-hero h1.wp-block-heading{padding:0 !important;font-size:clamp(38px,5.4vw,66px) !important;line-height:.98 !important;letter-spacing:-.055em !important;margin:0 0 22px !important;max-width:12ch}
body.jxh-on .jxh-hero p.jxh-lead{font-size:clamp(18px,1.8vw,22px) !important;max-width:46ch}
body.jxh-on .jxh-hero .wp-block-buttons .wp-block-button__link{font-size:16px !important;padding:13px 26px !important}
body.jxh-on .jxh-scroll{margin-top:clamp(28px,6vh,56px) !important;font-size:13px !important;color:var(--k-ink3) !important}
body.jxh-on .jxh-scroll::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);animation:jxh-bob 2.2s ease-in-out infinite}
@keyframes jxh-bob{50%{transform:translateY(1px) rotate(45deg)}}

/* ---------- sobre ---------- */
body.jxh-on .jxh-about.wp-block-columns{gap:clamp(28px,6vw,80px) !important;align-items:center !important}
body.jxh-on .jxh-photo img{width:100% !important;max-width:240px;height:auto !important;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:28px !important;box-shadow:var(--k-shadow);filter:none !important}
body.jxh-on .jxh-photo{margin:0 !important}
body.jxh-on .jxh-about>.wp-block-column:first-child{flex:0 0 240px !important}
body.jxh-on .jxh-about p:not(.jxh-eb){font-size:17.5px !important;line-height:1.6 !important;max-width:52ch}

/* ---------- cartões ---------- */
body.jxh-on .jxh-card{height:100%;background:var(--k-surface);border:1px solid var(--k-rule);border-radius:24px;padding:24px !important;box-shadow:var(--k-shadow);display:flex !important;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease}
body.jxh-on .jxh-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,0,0,.05),0 20px 44px rgba(0,0,0,.11)}
body.jxh-on .jxh-card>*{margin:0 !important}
body.jxh-on .jxh-card h3.wp-block-heading{font-size:20px !important;margin-top:6px !important}
body.jxh-on .jxh-card p{font-size:15.5px !important;line-height:1.5 !important}
body.jxh-on .jxh-card p:last-child:has(a){margin-top:auto !important;padding-top:6px}
body.jxh-on .jxh-card p a{font-weight:600}
body.jxh-on .jxh-logo img{width:56px !important;height:56px !important;object-fit:contain;border-radius:14px !important;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.1)}
body.jxh-on .jxh-logo{margin:0 0 6px !important}
body.jxh-on .jxh-page .wp-block-column:has(>.jxh-card){display:flex}
body.jxh-on .jxh-page .wp-block-column>.jxh-card{flex:1}

/* recursos: cartões só de texto com seta */
body.jxh-on .jxh-res .jxh-card{padding:22px !important}
body.jxh-on .jxh-res .jxh-card h3::after{content:" ↗";color:var(--k-ink3);font-weight:600}

/* projetos: imagens alinhadas */
body.jxh-on .jxh-proj .jxh-card{padding:12px 12px 20px !important}
body.jxh-on .jxh-proj .jxh-card .wp-block-image{margin:0 0 8px !important}
body.jxh-on .jxh-proj .jxh-card .wp-block-image img{width:100% !important;height:auto !important;aspect-ratio:16/10;object-fit:cover;border-radius:16px !important;box-shadow:none !important}
body.jxh-on .jxh-proj .jxh-card>:not(figure){padding-inline:8px}
body.jxh-on .jxh-tag{font-size:13px !important;font-weight:600 !important;color:var(--k-ink3) !important}

/* ---------- portfolio ---------- */
body.jxh-on .jxh-block{margin-top:16px !important;background:var(--k-surface);border:1px solid var(--k-rule);border-radius:28px;padding:clamp(20px,3vw,32px) !important;box-shadow:var(--k-shadow)}
body.jxh-on .jxh-block>*{margin-top:0 !important}
body.jxh-on .jxh-block .wp-block-video{margin-top:16px !important}
body.jxh-on .jxh-block .wp-block-video video{width:100%;border-radius:18px;display:block}
body.jxh-on .jxh-block .wp-block-video figcaption{font-size:13px !important;color:var(--k-ink3) !important;margin-top:8px}
body.jxh-on .jxh-block h3.wp-block-heading{font-size:clamp(20px,2vw,24px) !important;margin:0 0 8px !important}
body.jxh-on .jxh-block>p{max-width:62ch}
body.jxh-on .jxh-block ul{margin:8px 0 0 !important;padding-left:1.1em !important}
body.jxh-on .jxh-block li{margin:4px 0;font-size:16px !important}
body.jxh-on .jxh-page .wp-block-gallery{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px !important;margin-top:16px !important}
body.jxh-on .jxh-page .wp-block-gallery>figure.wp-block-image{width:auto !important;margin:0 !important}
body.jxh-on .jxh-page .wp-block-gallery .wp-block-image img{border-radius:16px !important;aspect-ratio:16/10;object-fit:cover;height:100% !important}
body.jxh-on .jxh-page .wp-block-embed{margin-top:16px !important}
body.jxh-on .jxh-page .wp-block-embed iframe{border-radius:18px;width:100%;height:auto;aspect-ratio:16/9}

/* ---------- aparecer ao deslizar (só com JavaScript ativo) ---------- */
.jxh-js body.jxh-on .jxh-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.jxh-js body.jxh-on .jxh-reveal.is-in{opacity:1;transform:none}

@media (max-width:781px){
  body.jxh-on .jxh-about>.wp-block-column:first-child{flex-basis:100% !important}
  body.jxh-on .jxh-page .wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.jxh-on .jxh-nav .jxh-brand{display:none}
  body.jxh-on .jxh-nav{justify-content:flex-start}
  body.jxh-on .jxh-photo img{max-width:190px}
  body.jxh-on .jxh-hero{min-height:auto}
}
@media (min-width:600px) and (max-width:1023px){
  body.jxh-on .jxh-int.wp-block-columns{flex-wrap:wrap !important}
  body.jxh-on .jxh-int.wp-block-columns>.wp-block-column{flex-basis:calc(50% - 8px) !important;flex-grow:0 !important}
}
@media (prefers-reduced-motion:reduce){
  .jxh-js body.jxh-on .jxh-reveal{opacity:1;transform:none;transition:none}
  body.jxh-on .jxh-card{transition:none}body.jxh-on .jxh-scroll::after{animation:none}
  body.jxh-on{scroll-behavior:auto}
}

/* cartões de recursos: o cartão inteiro é clicável */
body.jxh-on .jxh-res .jxh-card{position:relative}
body.jxh-on .jxh-res .jxh-card h3 a{color:var(--k-ink) !important;text-decoration:none !important}
body.jxh-on .jxh-res .jxh-card h3 a::before{content:"";position:absolute;inset:0;border-radius:24px}
body.jxh-on .jxh-page h1,body.jxh-on .jxh-page h2,body.jxh-on .jxh-page h3{padding-inline:0 !important}

/* galerias: 2 imagens em 2 colunas; última imagem sozinha ocupa a linha */
body.jxh-on .jxh-page .wp-block-gallery:has(>figure:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body.jxh-on .jxh-page .wp-block-gallery>figure:last-child:nth-child(3n+1){grid-column:1/-1}
body.jxh-on .jxh-page .wp-block-gallery>figure:last-child:nth-child(3n+1) img{aspect-ratio:21/8}
body.jxh-on .jxh-block .wp-block-video{max-width:760px}
/* contacto com o mesmo tamanho de título das outras secções */
body.jxh-on .jc h2{font-size:clamp(26px,3vw,36px) !important}
body.jxh-on .jc{padding-top:clamp(64px,10vw,120px) !important}
@media (max-width:781px){
  body.jxh-on .jxh-page .wp-block-gallery>figure:last-child:nth-child(3n+1){grid-column:auto}
  body.jxh-on .jxh-page .wp-block-gallery>figure:last-child:nth-child(3n+1) img{aspect-ratio:16/10}
  body.jxh-on .jxh-page .wp-block-gallery>figure:last-child:nth-child(odd){grid-column:1/-1}
}

/* sobre logo a seguir à abertura */
body.jxh-on #sobre{padding-top:clamp(40px,6vw,72px) !important}
/* separadores do portfolio (controlo segmentado, como antes) */
body.jxh-on .jxh-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--k-surface2);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:6px 0 4px}
body.jxh-on .jxh-tabs::-webkit-scrollbar{display:none}
body.jxh-on .jxh-tabs button{all:unset;cursor:pointer;white-space:nowrap;font:600 15px/1.2 var(--k-text);letter-spacing:-.01em;color:var(--k-ink2);padding:9px 20px;border-radius:999px}
body.jxh-on .jxh-tabs button:hover{color:var(--k-ink)}
body.jxh-on .jxh-tabs button[aria-selected=true]{background:var(--k-chip);color:var(--k-chip-ink);box-shadow:0 1px 3px rgba(0,0,0,.18)}
body.jxh-on .jxh-tabs button:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
body.jxh-on .has-tabs .jxh-block[hidden]{display:none !important}
body.jxh-on .has-tabs .jxh-block{animation:jxh-fade .35s ease}
@keyframes jxh-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.jxh-on .has-tabs .jxh-block{animation:none}}

/* ---------- correção (nov. 2026): abertura e "Sobre" centradas ---------- */
body.jxh-on .jxh-hero{align-items:center;text-align:center !important}
body.jxh-on .jxh-hero>*{text-align:center !important}
body.jxh-on .jxh-hero h1.wp-block-heading,body.jxh-on .jxh-hero p.jxh-lead{margin-inline:auto !important}
body.jxh-on .jxh-hero .wp-block-buttons{justify-content:center !important}
body.jxh-on .jxh-page .jxh-about.wp-block-columns{max-width:860px !important;margin-inline:auto !important;justify-content:center !important}
body.jxh-on #contato{scroll-margin-top:56px}
