/*
Theme Name: Antonia Ratto
Author: Antonia Ratto
Description: Portfolio de artes visuais — bilingue PT-BR / EN.
Version: 1.9
Requires at least: 6.2
Requires PHP: 7.4
License: Private
Text Domain: antonia-ratto
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--white:#FAFAFA;--offwhite:#F0EFED;--black:#1A1A1A;--mid:#888;--light:#C8C8C8;--verylite:#C8C7C5}
body{background:var(--white);color:var(--black);font-family:'DM Sans',sans-serif;font-weight:300;position:relative}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}

/* ── NAV ── */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:2.8rem 7%;border-bottom:0.5px solid var(--verylite);position:sticky;top:0;background:var(--white);z-index:100}
.site-logo a{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.05rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--black)}
.primary-menu{display:flex;gap:2.8rem;list-style:none;margin-left:auto}
.primary-menu a{font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);transition:color 0.2s}
.primary-menu a:hover{color:var(--black)}
.primary-menu .current-menu-item>a,.primary-menu .current_page_item>a{
  color:var(--black);
  letter-spacing:0.22em;
}
.nav-right{display:flex;align-items:center;gap:2rem}
.lang-menu{display:flex;gap:0.6rem;list-style:none;align-items:center}
.lang-menu li+li::before{content:'/';font-size:0.6rem;color:var(--verylite);margin-right:0.6rem}
.lang-menu a{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--light);transition:color 0.2s}
.lang-menu a:hover,.lang-menu .current-lang a{color:var(--black)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:0.5px;background:var(--black)}

/* ── HOMEPAGE: header transparente sobre imagem ── */
.front-page .site-header{background:transparent !important;border-bottom:none !important;position:absolute !important;top:0 !important;left:0 !important;width:100% !important;z-index:100;align-items:center !important;padding-top:2.8rem !important;padding-bottom:2.8rem !important}
/* position:relative sempre presente para o subtítulo absoluto não afectar o flex height */
.site-logo{position:relative}
.front-page .site-logo a{font-size:1.38rem !important;letter-spacing:0.28em !important}
/* Subtítulo flutua abaixo do nome: flex para alinhar "pesquisadora" com "Ratto" */
.site-subtitle{
  position:absolute;
  top:100%;
  left:0;
  margin-top:0.5rem;
  width:100%; /* ocupa a largura do .site-logo = largura de "ANTONIA RATTO" */
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:0.68rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(0,0,0,0.45);
  font-weight:300;
  line-height:1;
}
/* largura do subtítulo controlada por JS para alinhamento pixel-perfect */
/* Separador do subtítulo: símbolo do infinito */
.subtitle-sep{
  display:inline-block;
  opacity:0.42;
  font-family:'Cormorant Garamond',serif;
  font-size:1.28em;
  font-weight:300;
  letter-spacing:0;
  vertical-align:-0.06em;
}
.front-page .primary-menu a{color:rgba(0,0,0,0.55) !important}
.front-page .primary-menu a:hover,
.front-page .primary-menu .current-menu-item>a,
.front-page .primary-menu .current_page_item>a{color:var(--black) !important}
.front-page .lang-menu a{color:rgba(0,0,0,0.4) !important}
.front-page .lang-menu .current-lang a{color:var(--black) !important}
.front-page .hamburger span{background:var(--black) !important}

/* ── HOMEPAGE HERO: sangrado total ── */
.front-page main{margin-top:0}
.front-page .entry-content{padding:0}
.front-page .wp-block-cover,
.front-page .wp-block-cover[class*="is-position"]{min-height:100vh !important;padding:0 !important}
.front-page .wp-block-cover h1,
.front-page .wp-block-cover h2,
.front-page .wp-block-cover p{display:none !important}
.front-page .site-footer{margin-top:0}

/* ── OBRAS — hero de texto (topo da página) ── */
.obras-hero{padding:7rem 7% 5rem;text-align:left}
.obras-hero-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(3.5rem,8vw,6.5rem);letter-spacing:0.12em;text-transform:uppercase;line-height:0.95;color:var(--black)}
.obras-hero-name span{display:block}
.obras-hero-sub{font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--mid);margin-top:1.8rem;font-weight:400}
.obras-divider{height:0.5px;background:var(--verylite);margin:0 7%}

/* ── OBRAS — lista ── */
.obras-wrapper{padding:5rem 7%}
.obra-item{display:block;margin-bottom:0;color:inherit;text-decoration:none}
.obra-img{width:100%;background:var(--offwhite);overflow:hidden;position:relative}
.obra-img--square{aspect-ratio:1/1 !important;display:block !important}
.obra-img--square img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;transition:opacity 0.3s}
.obra-item:hover .obra-img img{opacity:0.88}
.obra-caption{margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:0.3rem 2rem;padding-bottom:1rem;border-bottom:0.5px solid var(--verylite)}
.obra-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.25rem;letter-spacing:0.04em;grid-column:1/-1;margin-bottom:0.4rem;color:var(--black)}
.obra-meta{font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid)}
.obra-desc{font-size:0.82rem;line-height:1.7;color:var(--mid);margin-top:0.9rem;max-width:58ch;grid-column:1/-1;font-weight:300}
.obras-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 2.5rem}
/* ── OBRAS SIDEBAR — navegação vertical à esquerda ── */
/* Só visível na página OBRAS (body.obras-page) */
.obras-sidebar{
  display:none;
}
.obras-page .obras-sidebar{
  display:block;
  position:fixed;
  left:0;
  top:50%;
  transform:translateY(-50%);
  z-index:90;
}
/* Tab vertical sempre visível */
.obras-sidebar-tab{
  display:block;
  writing-mode:vertical-lr;
  transform:rotate(180deg);
  font-size:0.58rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:#666;
  padding:1.2rem 0.9rem;
  background:var(--white);
  border-right:1px solid #d8d7d5;
  cursor:pointer;
  user-select:none;
  transition:color 0.2s, border-color 0.2s;
}
.obras-sidebar:hover .obras-sidebar-tab{
  color:var(--black);
  border-right-color:#aaa;
}
/* Lista oculta — aparece ao hover */
.obras-sidebar-list{
  list-style:none;
  position:absolute;
  left:100%;
  top:50%;
  transform:translateY(-50%) translateX(-6px);
  opacity:0;
  pointer-events:none;
  background:rgba(250,250,250,0.97);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:1.6rem 2rem;
  min-width:13rem;
  white-space:nowrap;
  border-right:0.5px solid var(--verylite);
  transition:opacity 0.25s ease, transform 0.25s ease;
}
.obras-sidebar:hover .obras-sidebar-list{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-50%) translateX(0);
}
.obras-sidebar-list li{
  padding:0.38rem 0;
}
.obras-sidebar-list a{
  font-size:0.68rem;
  letter-spacing:0.13em;
  text-transform:uppercase;
  color:var(--mid);
  transition:color 0.2s;
}
.obras-sidebar-list a:hover{color:var(--black)}

/* Legenda das obras — título + ano */
.obra-caption-line{margin-top:0.55rem;display:flex;flex-direction:column;gap:0.2rem}
.obra-caption-title{font-family:'Cormorant Garamond',serif;font-size:0.95rem;font-weight:300;font-style:italic;letter-spacing:0.02em;color:var(--black);line-height:1.3}
.obra-caption-year{font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mid);font-weight:300}

/* ── OBRA INDIVIDUAL & SÉRIE ── */
.obra-single-hero{width:100%;max-height:85vh;overflow:hidden;background:var(--offwhite)}
.obra-single-hero img{width:100%;max-height:85vh;object-fit:contain;display:block;margin:0 auto;transition:opacity 0.22s ease}
/* Setas de navegação sobre o hero */
.obra-single-hero{position:relative}
.obra-hero-prev,.obra-hero-next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;
  width:2.8rem;height:2.8rem;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 0.2s;
}
/* Chevrons finos via CSS */
.obra-hero-prev::before,.obra-hero-next::before{
  content:'';
  display:block;
  width:9px;height:9px;
  border-top:1px solid var(--black);
  border-right:1px solid var(--black);
  flex-shrink:0;
}
.obra-hero-prev::before{transform:rotate(-135deg);margin-left:4px}
.obra-hero-next::before{transform:rotate(45deg);margin-right:4px}
.obra-single-hero:hover .obra-hero-prev,
.obra-single-hero:hover .obra-hero-next{opacity:0.5}
.obra-hero-prev:hover,.obra-hero-next:hover{opacity:1!important}
.obra-hero-prev{left:0.4rem}
.obra-hero-next{right:0.4rem}

/* Layout abaixo do hero: grid 2 colunas */
.obra-single-below{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:3rem;
  padding:1.8rem 7% 1.8rem 0;
  align-items:start;
}
/* Thumbnails: grade fixa de 4 por linha, alinhada à direita da coluna esquerda */
.obra-thumb-row{
  display:grid;
  grid-template-columns:repeat(4,68px);
  gap:0.45rem;
  justify-content:end;
}
.obra-thumb-item{
  width:68px;height:68px;padding:0;border:none;background:none;
  cursor:pointer;overflow:hidden;opacity:0.35;flex-shrink:0;
  transition:opacity 0.22s;
}
.obra-thumb-item:hover,.obra-thumb-item.is-active{opacity:1}
.obra-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}
/* Info (legenda) */
.obra-single-info{margin:0}
.obra-single-title{font-family:'Cormorant Garamond',serif !important;font-weight:400 !important;font-size:1.6rem !important;letter-spacing:0.04em !important;color:var(--black) !important;margin-bottom:0.8rem !important;display:block !important;text-align:left !important;width:auto !important;float:none !important}
.obra-single-meta{font-size:0.72rem;line-height:1.9;letter-spacing:0.04em;color:var(--mid);display:block !important;text-align:left !important;max-width:52ch;margin:0 !important;float:none !important}
/* Botão voltar */
.obra-single-actions{padding:0 7% 3rem}
.obra-single-photo{font-size:0.62rem;letter-spacing:0.08em;color:var(--light);display:block;margin-top:1.2rem}
.obra-single-back{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--light);display:block;margin-bottom:2.5rem;transition:color 0.2s}
.obra-single-back:hover{color:var(--black)}
/* Legenda dinâmica da série */
.obra-serie-work-title{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;
  font-weight:300;
  font-style:italic;
  color:var(--black);
  letter-spacing:0.02em;
  line-height:1.4;
  margin-bottom:0.25rem;
}
.obra-serie-page .obra-caption-year{display:block;margin-bottom:0.8rem}
.obra-serie-static-info{margin-top:0.5rem !important;opacity:0.7}

/* ── EXPOS ── */
.expos-wrapper{padding:5rem 7%}
.expo-item{padding:2.5rem 0;border-bottom:0.5px solid var(--verylite);display:grid;grid-template-columns:6rem 1fr;gap:1rem 3rem;align-items:start}
.expo-year{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--light);font-weight:300;padding-top:0.1rem}
.expo-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--black);margin-bottom:0.35rem;letter-spacing:0.02em}
.expo-local{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--mid)}
.expo-tipo{display:inline-block;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.2rem 0.6rem;border:0.5px solid var(--verylite);color:var(--mid);margin-bottom:0.5rem}

/* ── BIO ── */
.bio-split{
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:0;
  align-items:stretch;
}
/* Foto: sangra à esquerda e cola no header; altura segue a coluna de texto */
.bio-photo-col{
  padding:0 5% 5rem 0;
  display:flex;
  flex-direction:column;
}
.bio-photo-col img{
  width:100%;
  flex:1;
  min-height:0;
  object-fit:cover;
  object-position:center 10%;
  display:block;
}
.bio-photo-placeholder{width:100%;aspect-ratio:2/3;background:var(--offwhite)}
/* Coluna de texto */
.bio-text-col{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:5rem 7% 5rem 4.5rem;
}
.bio-eyebrow{
  font-size:0.6rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--light);
  margin-bottom:2rem;
  font-weight:300;
}
.bio-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.8rem;
  align-items:start;
}
.bio-col p{
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;
  line-height:1.9;
  color:#444;
  font-weight:300;
  margin-bottom:1.2rem;
}
.bio-col p:last-child{margin-bottom:0}
/* Ícone download CV — mesma linguagem do ícone PDF das expos */
.bio-cv-download{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  margin-top:0.8rem;
  color:#777;
  text-decoration:none;
  transition:color 0.2s;
  /* posicionado via grid na coluna direita */
  grid-column:2;
  justify-self:start;
}
.bio-cv-download:hover{color:var(--black)}
.bio-cv-download svg{display:block;flex-shrink:0;width:38px;height:auto}
.bio-cv-download span{
  font-size:0.65rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ── CV EXPANDÍVEL — secção abaixo da bio ── */
.bio-cv-section{
  padding:0 7% 6rem;
}
/* Botão toggle */
.bio-cv-toggle{
  width:100%;
  background:none;
  border:none;
  border-top:0.5px solid var(--verylite);
  border-bottom:0.5px solid var(--verylite);
  padding:1.5rem 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-family:'Cormorant Garamond',serif;
  font-size:0.88rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#444;
  font-weight:400;
  transition:color 0.2s, border-color 0.2s;
}
.bio-cv-toggle:hover{color:var(--black)}
.bio-cv-toggle[aria-expanded="true"]{border-bottom-color:transparent}
.bio-cv-arrow{
  font-size:1rem;
  letter-spacing:0;
  transition:transform 0.35s ease;
  display:inline-block;
  color:#888;
  line-height:1;
}
.bio-cv-toggle:hover .bio-cv-arrow{color:var(--black)}
.bio-cv-toggle.open .bio-cv-arrow{transform:rotate(180deg)}
/* Drawer */
.bio-cv-content{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.7s cubic-bezier(0.4,0,0.2,1);
}
.bio-cv-content.open{max-height:9999px}
/* Interior do drawer */
.cv-inner-pad{padding-top:3.5rem}
/* Grid de duas colunas */
.cv-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 6%;
}
/* Bloco de secção */
.cv-block{margin-bottom:3rem}
.cv-block-title{
  font-family:'DM Sans',sans-serif;
  font-size:0.6rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:#c0bfbd;
  font-weight:400;
  margin-bottom:1.1rem;
  padding-bottom:0.55rem;
  border-bottom:0.5px solid var(--verylite);
}
/* Linha de entrada: data + descrição */
.cv-entry{
  display:grid;
  grid-template-columns:6.5rem 1fr;
  gap:0 0.7rem;
  margin-bottom:0.85rem;
  align-items:start;
}
.cv-date{
  font-family:'DM Sans',sans-serif;
  font-size:0.6rem;
  letter-spacing:0.03em;
  color:#aaa;
  font-weight:300;
  line-height:1.8;
  padding-top:0.05em;
}
.cv-desc{
  font-family:'Cormorant Garamond',serif;
  font-size:0.98rem;
  line-height:1.78;
  color:#555;
  font-weight:300;
  margin:0;
}
.cv-desc em{font-style:italic}
/* Centros de interesse — parágrafo simples */
.cv-interests{
  font-family:'Cormorant Garamond',serif;
  font-size:0.9rem;
  line-height:1.78;
  color:#555;
  font-weight:300;
  margin:0;
}
/* Download row */
.cv-download-row{
  margin-top:2rem;
  padding-top:1.6rem;
  border-top:0.5px solid var(--verylite);
}
.cv-download-link{
  display:inline-flex;
  align-items:center;
  gap:0.55em;
  font-family:'DM Sans',sans-serif;
  font-size:0.58rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--mid);
  text-decoration:none;
  transition:color 0.2s;
}
.cv-download-link:hover{color:var(--black)}
.cv-download-link svg{display:block;flex-shrink:0}

/* ── PRESS ── */
.press-wrapper{padding:6rem 7% 8rem}
.press-heading{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:0.12em;text-transform:uppercase;color:var(--black);margin-bottom:4rem}
.press-item{padding:2rem 0;border-bottom:0.5px solid var(--verylite)}
.press-item:first-of-type{border-top:0.5px solid var(--verylite)}
.press-item p{font-size:0.88rem;line-height:1.8;color:var(--mid);font-weight:300;margin-bottom:0.4rem}
.press-item h2,.press-item h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.3rem;letter-spacing:0.03em;color:var(--black);margin-bottom:0.5rem}
.press-item a{color:var(--mid);transition:color 0.2s;text-decoration:none}
.press-item a:hover{color:var(--black)}

/* ── CONTATO ── */
.contato-wrapper{padding:6rem 7% 8rem}
.contato-heading{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(2.2rem,4vw,3.2rem);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--black);
  margin-bottom:4rem;
}
.contato-grid{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:6rem;
  align-items:start;
}
/* Info direta — sem linhas divisórias */
.contato-info{margin-top:1.6rem}
.contato-item{padding:1.2rem 0}
.contato-label{font-size:0.68rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--mid);margin-bottom:0.35rem;font-weight:300}
.contato-value{font-size:1rem;color:var(--mid);font-weight:300;text-decoration:none;display:block;transition:color 0.2s}
.contato-value:hover{color:var(--black)}
/* Formulário */
.contato-form-col{padding-top:0}
.contato-form{display:flex;flex-direction:column;gap:0}
.contato-field{position:relative;margin-bottom:2rem}
.contato-field label{
  display:block;font-size:0.6rem;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--mid);margin-bottom:0.5rem;font-weight:300;
}
.contato-field input,
.contato-field textarea{
  width:100%;background:none;border:none;border-bottom:0.5px solid #aaa;
  padding:0.5rem 0;font-family:'Cormorant Garamond',serif;font-size:1rem;
  font-weight:300;color:var(--black);outline:none;transition:border-color 0.2s;
  resize:none;
}
.contato-field input:focus,
.contato-field textarea:focus{border-bottom-color:var(--black)}
.contato-field textarea{min-height:120px;line-height:1.7}
.contato-submit{
  margin-top:1rem;align-self:flex-start;
  background:none;border:0.5px solid var(--black);
  padding:0.75rem 2.5rem;cursor:pointer;
  font-size:0.62rem;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--black);font-family:inherit;font-weight:300;
  transition:background 0.2s,color 0.2s;
}
.contato-submit:hover{background:var(--black);color:var(--white)}
.contato-feedback{font-size:0.82rem;font-weight:300;padding:1rem 0;margin-bottom:1.5rem}
.contato-ok{color:var(--black)}
.contato-err{color:#a06060}
/* Conteúdo editável no WP */
.contato-info-extra{border-top:0.5px solid var(--verylite)}
/* H6 = label (opcional) */
.contato-info-extra h6{
  font-size:0.6rem;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--mid);font-weight:300;font-family:inherit;
  margin:0;padding-top:1.4rem;padding-bottom:0.3rem;
}
/* Parágrafo = valor (com ou sem H6 acima) */
.contato-info-extra p{
  font-size:0.9rem;color:var(--mid);font-weight:300;margin:0;
  padding:1.1rem 0;border-bottom:0.5px solid var(--verylite);
  line-height:1.5;
}
/* Se tem h6 antes, remove padding-top do p */
.contato-info-extra h6 + p{padding-top:0.2rem}
.contato-info-extra a{color:var(--mid);text-decoration:none;transition:color 0.2s}
.contato-info-extra a:hover{color:var(--black)}

/* ── EXPOS: seções ── */
.expos-section{margin-bottom:5rem}
.expos-section-title{
  display:inline-block;
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:0.78rem;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:#555;
  border:0.5px solid #777;
  padding:0.65em 1.6em;
  margin-bottom:2.5rem;
}

/* Expo — lista (individuais e coletivas) */
/* Individuais — lista proeminente */
.expo-list-item{display:grid;grid-template-columns:9rem 1fr;gap:2rem;padding:2rem 0;border-bottom:0.5px solid var(--verylite);align-items:start;color:inherit;text-decoration:none}
.expo-list-thumb{width:9rem;height:9rem;overflow:hidden;background:var(--offwhite);flex-shrink:0}
.expo-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.expo-list-thumb--empty{border:0.5px solid var(--verylite)}
/* Individuais — grid 2 colunas */
.expo-individuais-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.expo-list-item--individual{grid-template-columns:8rem 1fr;gap:1.8rem;padding:2rem 0}
.expo-list-item--individual .expo-list-thumb{width:8rem;height:8rem}
.expo-list-item--individual .expo-list-title{font-size:1.6rem}
.expo-list-item--individual .expo-list-meta{font-size:0.82rem;margin-top:0.25rem}
.expo-list-item--individual .expo-ver-imagens{font-size:0.65rem;margin-top:0.5rem}
.expo-individuais-grid .expo-list-item--individual:nth-child(odd){padding-right:2rem;border-right:0.5px solid var(--verylite)}
.expo-individuais-grid .expo-list-item--individual:nth-child(even){padding-left:2rem}
/* Remove borda do último item e do penúltimo se estiver na mesma linha */
.expo-individuais-grid .expo-list-item--individual:last-child,
.expo-individuais-grid .expo-list-item--individual:nth-last-child(2):nth-child(odd){border-bottom:none}
/* Coletivas — grid 2 colunas compacto */
.expo-coletivas-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.expo-list-item--coletiva{grid-template-columns:5rem 1fr;gap:1.2rem;padding:1.4rem 0}
.expo-list-item--coletiva .expo-list-thumb{width:5rem;height:5rem}
.expo-list-item--coletiva .expo-list-title{font-size:1.15rem}
.expo-list-item--coletiva .expo-list-meta{font-size:0.74rem}
/* Separador vertical entre as 2 colunas */
.expo-coletivas-grid .expo-list-item--coletiva:nth-child(odd){padding-right:2rem;border-right:0.5px solid var(--verylite)}
.expo-coletivas-grid .expo-list-item--coletiva:nth-child(even){padding-left:2rem}
.expo-coletivas-grid .expo-list-item--coletiva:last-child,
.expo-coletivas-grid .expo-list-item--coletiva:nth-last-child(2):nth-child(odd){border-bottom:none}
.expo-list-info{display:flex;flex-direction:column;gap:0.3rem}
.expo-list-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.65rem;letter-spacing:0.03em;color:var(--black);line-height:1.15}
.expo-list-meta{font-size:0.8rem;letter-spacing:0.02em;color:var(--mid);font-weight:300;margin-top:0.15rem}
.expo-ver-imagens{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--light);margin-top:0.6rem;display:inline-block;transition:color 0.2s;text-decoration:none}
.expo-ver-imagens:hover{color:var(--black)}
.expo-empty{font-size:0.82rem;color:var(--light);font-style:italic}

/* Expo individual/coletiva — página única */
.expo-single-page .expo-single-header{padding:4rem 7% 2.5rem}
/* Linha título + ícone PDF */
.expo-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1rem}
.expo-title-row .expo-single-title{margin-bottom:0}
/* Ícone PDF */
.expo-pdf-download{display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:#777;text-decoration:none;transition:color 0.2s;flex-shrink:0;padding-bottom:0.25rem}
.expo-pdf-download:hover{color:var(--black)}
.expo-pdf-download svg{display:block}
.expo-pdf-download span{font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap}
.expo-single-page .expo-back{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--light);display:block;margin-bottom:2rem;transition:color 0.2s}
.expo-single-page .expo-back:hover{color:var(--black)}
/* Botão voltar no fim da página expo */
.expo-back-bottom-wrap{padding:0 7% 5rem}
.expo-back-bottom{margin-bottom:0}
.expo-tipo-label{display:inline-block;font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--mid);border:0.5px solid var(--verylite);padding:0.28rem 0.75rem;margin-bottom:1.2rem}
.expo-single-page .expo-single-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4vw,3rem);letter-spacing:0.08em;text-transform:uppercase;color:var(--black);margin-bottom:1rem;line-height:1}
.expo-single-page .expo-single-meta{font-size:0.82rem;letter-spacing:0.04em;color:var(--mid);font-weight:300;line-height:1.7}
.expo-single-divider{height:0.5px;background:var(--verylite);margin-top:2.5rem}

/* Galeria responsiva — expo individual */
.expo-single-content{padding:1.2rem 7% 6rem}
/* Cobre Gutenberg moderno (nested) e legado (ul/li) */
.expo-single-content .wp-block-gallery,
.expo-single-content ul.wp-block-gallery{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:0.8rem !important;
  margin:0 0 4rem !important;
  padding:0 !important;
  list-style:none !important;
}
.expo-single-content .wp-block-gallery figure,
.expo-single-content .wp-block-gallery .wp-block-image,
.expo-single-content .wp-block-gallery li{
  margin:0 !important;
  width:100% !important;
  padding:0 !important;
}
.expo-single-content .wp-block-gallery img{
  width:100% !important;
  height:300px !important;
  aspect-ratio:unset !important;
  object-fit:cover !important;
  display:block !important;
  cursor:pointer !important;
}
@supports (aspect-ratio:4/3){
  .expo-single-content .wp-block-gallery img{
    height:auto !important;
    aspect-ratio:4/3 !important;
  }
}
.expo-single-content .wp-block-gallery figcaption,
.expo-single-content .wp-block-gallery .wp-element-caption{display:none !important}

/* ── OBRA SÉRIE — galeria com legendas (fora do obra-single-detail) ── */
.obra-serie-desc{
  padding:0 7% 6rem;
}
.obra-serie-desc .wp-block-gallery{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:2.5rem !important;
  width:100% !important;
  max-width:none !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}
/* Reset total nos filhos directos — anula flex/width inline do Gutenberg */
.obra-serie-desc .wp-block-gallery > *,
.obra-serie-desc .wp-block-gallery .wp-block-image,
.obra-serie-desc .wp-block-gallery li,
.obra-serie-desc .wp-block-gallery figure{
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  overflow:visible !important; /* permite que figcaption fique abaixo da imagem */
  position:relative !important;
}
.obra-serie-desc .wp-block-gallery img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  display:block !important;
}
/* Série: figcaptions WP substituídas em PHP — esconder para segurança */
.obra-serie-desc figcaption,
.obra-serie-desc .wp-element-caption{
  display:none !important;
}
/* .obra-caption-line dentro de figure WP: reset de herança + título ligeiramente maior */
.obra-serie-desc .obra-caption-line{
  margin-top:0.55rem;
  font-style:normal;
  font-family:'DM Sans',sans-serif;
}
.obra-serie-desc .obra-caption-title{
  font-size:1.05rem;
}

/* ── LIGHTBOX ── */
#ar-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  align-items:center;
  justify-content:center;
}
#ar-lightbox.open{display:flex}
.lb-bg{
  position:absolute;
  inset:0;
  background:rgba(10,10,10,0.96);
  cursor:pointer;
}
.lb-stage{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 6rem;
  max-width:100vw;
}
.lb-figure{text-align:center;margin:0}
.lb-img{
  max-width:calc(100vw - 12rem);
  max-height:85vh;
  object-fit:contain;
  display:block;
}
.lb-cap{
  color:rgba(255,255,255,0.38);
  font-size:0.58rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  margin-top:0.75rem;
  font-family:'DM Sans',sans-serif;
  font-weight:300;
}
.lb-counter{
  position:fixed;
  bottom:1.6rem;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,0.25);
  font-size:0.52rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  z-index:2;
  white-space:nowrap;
}
.lb-close,.lb-prev,.lb-next{
  position:fixed;
  background:none;
  border:none;
  cursor:pointer;
  color:rgba(255,255,255,0.4);
  transition:color 0.2s;
  z-index:2;
  line-height:1;
  padding:0.5rem;
  font-family:'DM Sans',sans-serif;
  font-weight:300;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{color:#fff}
.lb-close{top:1.6rem;right:2rem;font-size:2rem;letter-spacing:0}
.lb-prev{left:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem}
.lb-next{right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem}

/* Bloco de arquivo — oculto no conteúdo (JS move para o header) */
.expo-single-content .wp-block-file{display:none !important}

/* Texto crítico */
.expo-single-content>p,
.expo-single-content .wp-block-paragraph{font-size:0.9rem;line-height:1.95;color:#555;max-width:62ch;margin-bottom:1.2rem;font-weight:300}
.expo-single-content>h2,.expo-single-content>h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.4rem;letter-spacing:0.06em;color:var(--black);margin:3rem 0 1rem}

/* Expo coletiva — página única */
.expo-coletiva-single-img{padding:3rem 7% 0}
.expo-coletiva-single-img img{width:100%;max-height:80vh;object-fit:contain;display:block}

/* ── SHARED ── */
.section-label{font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--light);margin-bottom:3rem;display:block}
.entry-content>*{max-width:none}
.entry-content .wp-block-image{margin:0}

/* ── NEWS / CLIPPING ── */
/* Layout idêntico ao de Obras: reutiliza .obra-item, .obra-img--square, .obra-caption-line */
.news-wrapper{padding:5rem 7% 6rem}
.news-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem 2.5rem;
}
.news-item{cursor:default}
.news-item--gallery{
  cursor:pointer;
  touch-action:manipulation;   /* remove atraso de 300ms no iOS */
  -webkit-tap-highlight-color:transparent;
}
/* Imagem destacada menor: padding interno + contain (sem crop) */
.news-item .obra-img--square{padding:2.2rem}
.news-item .obra-img--square img{object-fit:contain !important;height:100% !important}
/* Suprime legenda de imagens dentro da grade NEWS (vem da biblioteca de mídia) */
.news-item figcaption,
.news-item .wp-element-caption,
.news-item .wp-caption-text{display:none}
/* Legenda NEWS */
.news-item .obra-caption-line{margin-top:1.2rem;gap:0.25rem}

/* 1ª linha (primária): nome do veículo em itálico Cormorant + data normal */
.news-venue{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:0.95rem;
  font-weight:300;
  line-height:1.3;
  text-transform:none;
}
.news-venue-pub{font-style:italic}
.news-venue-date,.news-venue-sep{font-style:normal}

/* 2ª linha: título da matéria — DM Sans, normal, um degrau menor */
.news-item .obra-caption-title{
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;
  font-style:normal;
  font-weight:300;
  letter-spacing:0.01em;
  color:var(--black);
}

/* Autor */
.news-author{
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:0.65rem;
  font-weight:300;
  font-style:normal;
  letter-spacing:0.06em;
  color:var(--mid);
  margin-top:0.05rem;
}

/* Link externo ↗ */
.news-link{
  display:inline-block;
  font-size:0.65rem;
  color:var(--mid);
  margin-top:0.2rem;
  transition:color 0.2s;
  text-decoration:none;
}
.news-link:hover{color:var(--black)}
/* ── Lightbox NEWS: legenda rica ── */
.lb-cap.news-lb-cap{text-transform:none;text-align:center;line-height:1}
.news-lb-meta{
  display:block;
  font-size:0.62rem;
  letter-spacing:0.04em;
  color:rgba(255,255,255,0.75);
  margin-bottom:0.5rem;
  font-weight:400;
}
.news-lb-meta-pub{font-style:italic}
.news-lb-meta-date{font-style:normal}
.news-lb-title{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:0.9rem;
  font-weight:300;
  font-style:italic;
  color:rgba(255,255,255,0.5);
  letter-spacing:0.02em;
  line-height:1.4;
}
.news-lb-author{
  display:block;
  font-size:0.5rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.28);
  margin-top:0.5rem;
}
.news-lb-link{
  display:inline-block;
  font-size:0.5rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.28);
  margin-top:0.45rem;
  transition:color 0.2s;
}
.news-lb-link:hover{color:rgba(255,255,255,0.65)}

/* ── FOOTER ── */
.site-footer{padding:3rem 7%;border-top:0.5px solid var(--verylite);display:flex;justify-content:center;align-items:center;margin-top:4rem}
.footer-copy{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:#aaa}

/* ── RESPONSIVE ── */
@media(max-width:700px){
  .site-header{padding:1.8rem 6%}
  .primary-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;gap:0;border-bottom:0.5px solid var(--verylite);padding:1rem 0}
  .primary-menu.open{display:flex}
  .primary-menu li{border-top:0.5px solid var(--verylite)}
  .primary-menu a{display:block;padding:1rem 6%;font-size:0.75rem}
  .hamburger{display:flex}
  .lang-menu{display:none}
  .front-page .wp-block-cover{min-height:calc(100svh - 60px) !important;padding:2.5rem 6% !important}
  .obras-hero{padding:4rem 6% 3rem}
  .obras-wrapper,.expos-wrapper,.bio-wrapper,.contato-wrapper{padding:3rem 6%}
  .contato-wrapper{padding:4rem 6%}
  .obras-grid{grid-template-columns:1fr}
  .obra-caption{grid-template-columns:1fr}

  /* ── Expos: individuais ── */
  .expo-individuais-grid{grid-template-columns:1fr}
  .expo-individuais-grid .expo-list-item--individual:nth-child(odd){padding-right:0;border-right:none}
  .expo-individuais-grid .expo-list-item--individual:nth-child(even){padding-left:0}
  /* Restaura border-bottom no último ímpar (era removido para layout 2-col) */
  .expo-individuais-grid .expo-list-item--individual:nth-last-child(2):nth-child(odd){border-bottom:0.5px solid var(--verylite)}

  /* ── Expos: coletivas — fix especificidade dos paddings ── */
  .expo-coletivas-grid{grid-template-columns:1fr}
  .expo-coletivas-grid .expo-list-item--coletiva:nth-child(odd){padding-right:0;border-right:none}
  .expo-coletivas-grid .expo-list-item--coletiva:nth-child(even){padding-left:0}

  /* ── Expo página individual: botão PDF abaixo das infos, à direita ── */
  .expo-title-row{display:block}
  .expo-pdf-download--mobile{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:0.6rem;
    margin-top:1.2rem;
    font-size:0.65rem;
  }

  /* ── Expo páginas: padding lateral ── */
  .expo-single-page .expo-single-header{padding:3rem 6% 2rem}
  .expo-single-content,.expo-coletiva-single-img{padding-left:6%;padding-right:6%}
  .expo-single-content .wp-block-gallery{grid-template-columns:1fr !important}

  /* ── Bio: 1 coluna, padding alinhado ── */
  .bio-split{grid-template-columns:1fr;gap:0;padding:3rem 6%}
  .bio-photo-col{padding-right:0;padding-bottom:2rem}
  .bio-text-col{padding:0 0 3rem 0}
  .bio-body{grid-template-columns:1fr;gap:2rem}
  .bio-cv-section{padding-left:6%;padding-right:6%;padding-bottom:4rem}
  /* CV mantém 2 colunas mas mais compacto */
  .cv-inner-pad{padding-top:2rem}
  .cv-entry{grid-template-columns:4.5rem 1fr;gap:0 0.5rem}
  .cv-date{font-size:0.55rem}
  .cv-desc{font-size:0.82rem}

  /* ── Obras / contato ── */
  .contato-grid{grid-template-columns:1fr;gap:3rem}
  .contato-heading{margin-bottom:2.5rem}
  .obra-single-below{grid-template-columns:1fr;padding:1.5rem 0;column-gap:0}
  .obra-thumb-row{grid-template-columns:repeat(4,54px);justify-content:start;padding-left:6%;padding-right:6%}
  .obra-thumb-item{width:54px;height:54px}
  /* Legenda: margem lateral no mobile */
  .obra-single-info{padding:1.2rem 6% 0;margin:0}
  .obra-single-actions{padding:0 6% 3rem}
  /* Setas: visíveis no touch (sem hover) */
  .obra-hero-prev,.obra-hero-next{opacity:0.4}
  .obra-hero-prev{left:0.2rem}
  .obra-hero-next{right:0.2rem}
  /* série hero igual ao individual no mobile */
  .expo-back-bottom-wrap{padding:0 6% 4rem}
  .site-footer{padding:2rem 6%}

  /* ── News mobile ── */
  .news-grid{grid-template-columns:1fr;gap:2rem}
  .news-wrapper{padding:3rem 6% 5rem}
}
