/* EMAPH Site Builder — identidade visual institucional, sem alterar páginas legadas. */
.public-ui .page:has(> .sb-public){max-width:none;margin:0;padding:0;min-height:60vh}
.public-ui .page:has(> .sb-public)>.alert{max-width:1080px;margin:16px auto}
.sb-public{--sb-ink:#232221;--sb-muted:#746f6c;background:#f8f7f5;color:var(--sb-ink);font:400 15px/1.7 Inter,system-ui,sans-serif;overflow:hidden}
.sb-public *{box-sizing:border-box}
.sb-public h1,.sb-public h2,.sb-public h3{color:inherit;letter-spacing:-.048em;line-height:1.12;font-weight:600}
.sb-public h2{font-size:clamp(30px,4.5vw,54px);margin:10px 0 18px;max-width:850px}
.sb-public h3{font-size:18px}
.sb-public p{font-size:14px;line-height:1.85;color:inherit;opacity:.76}
.sb-public a{color:inherit}
.sb-public .sb-overline{display:inline-flex;gap:12px;align-items:center;font-size:11px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:var(--sb-accent);font-weight:600}
.sb-public .sb-overline::before{content:"";display:inline-block;width:23px;height:2px;background:var(--sb-accent)}
.sb-public .sb-section{padding:80px 24px;position:relative}
.sb-public .sb-section-inner{max-width:1190px;margin:0 auto}
.sb-public .sb-section.sb-dark{background:#1b1a1a;color:#fff}
.sb-public .sb-dark p{color:#f4f0ed;opacity:.76}
.sb-public .sb-hero{min-height:min(640px,82vh);display:flex;align-items:center;background:#201b19;color:#fff;padding:85px 28px}
.sb-public .sb-hero .sb-section-inner{width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.sb-public .sb-hero h1{font-size:clamp(38px,5.8vw,75px);max-width:820px;margin:22px 0 23px}
.sb-public .sb-hero p{max-width:600px;font-size:16px;margin:0 0 30px}
.sb-public .sb-hero-art{min-height:385px;width:100%;background:linear-gradient(145deg,#3b2b26,#161616);border-radius:10px;overflow:hidden;position:relative}
.sb-public .sb-hero-art img{width:100%;height:100%;min-height:385px;position:absolute;inset:0;object-fit:cover}
.sb-public .sb-hero .sb-section-inner:not(:has(.sb-hero-art)){grid-template-columns:1fr}
.sb-public .sb-hero-copy{max-width:710px}
.sb-public .sb-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;border-radius:5px;background:var(--sb-accent);color:#fff!important;padding:0 26px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .16s,filter .16s}
.sb-public .sb-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.sb-public .sb-texto .sb-section-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.sb-public .sb-text-body{max-width:590px}
.sb-public .sb-text-body p{font-size:15px}
.sb-public .sb-feature-image{border-radius:8px;overflow:hidden;min-height:360px;background:#e5e0db}
.sb-public .sb-media{display:block;width:100%;height:auto;object-fit:cover;max-width:100%}
.sb-public .sb-feature-image .sb-media{height:420px}
.sb-public .sb-texto .sb-section-inner:not(:has(.sb-feature-image)){grid-template-columns:1fr}
.sb-public .sb-text-link{display:inline-flex;margin-top:10px;color:var(--sb-accent)!important;font-weight:600;font-size:13px}
.sb-public .sb-heading{max-width:800px;margin:0 0 35px}
.sb-public .sb-heading p{max-width:610px}
.sb-public .sb-galeria{background:#fff}
.sb-public .sb-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sb-public .sb-gallery-grid figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:#ede8e2;border-radius:6px}
.sb-public .sb-gallery-grid .sb-media{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sb-public .sb-gallery-grid figure:hover .sb-media{transform:scale(1.04)}
.sb-public .sb-video .sb-section-inner{display:grid;grid-template-columns:.45fr .55fr;gap:42px;align-items:center}
.sb-public .sb-video .sb-heading{margin:0}
.sb-public .sb-featured-video{aspect-ratio:16/9;width:100%;background:#121417;overflow:hidden;border-radius:9px;display:grid;place-items:center}
.sb-public .sb-featured-video iframe,.sb-public .sb-featured-video video{height:100%;width:100%;border:0;object-fit:contain}
.sb-public .sb-media-empty{padding:30px;color:#eee;text-align:center;font-size:13px}
.sb-public .sb-cursos{background:#eeeae6}
.sb-public .sb-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.sb-public .sb-course-item{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e6e0dc;display:flex;flex-direction:column;transition:transform .2s}
.sb-public .sb-course-item:hover{transform:translateY(-4px)}
.sb-public .sb-course-item img{width:100%;height:205px;object-fit:cover;background:#d7cfca}
.sb-public .sb-course-item>div{padding:23px 23px 26px;flex:1}
.sb-public .sb-course-item small{font-weight:600;color:var(--sb-accent);font-size:10px;letter-spacing:.08em}
.sb-public .sb-course-item h3{margin:10px 0 9px}
.sb-public .sb-course-item p{font-size:12px;line-height:1.7;min-height:52px}
.sb-public .sb-course-item span{display:inline-flex;margin-top:6px;color:var(--sb-accent);font-size:12px;font-weight:600}
.sb-public .sb-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}
.sb-public .sb-highlight{padding:27px 28px;background:#fff;border:1px solid #eae5e0;border-radius:7px;min-height:135px}
.sb-public .sb-highlight>span{color:var(--sb-accent);font-size:11px;font-weight:600}
.sb-public .sb-highlight h3{font-size:16px;margin:13px 0 0;font-weight:550}
.sb-public .sb-dark .sb-highlight{background:#282626;border-color:#3d3936}
.sb-public .sb-chamada{text-align:center}
.sb-public .sb-chamada .sb-section-inner{max-width:860px}
.sb-public .sb-chamada h2{max-width:none;margin:20px 0}
.sb-public .sb-chamada p{margin:0 auto 24px;max-width:660px}
.sb-public .sb-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sb-public .sb-contact-grid>div{border-top:2px solid var(--sb-accent);padding:20px 12px 25px 0}
.sb-public .sb-contact-grid small{color:var(--sb-accent);font-weight:600;letter-spacing:.09em}
.sb-public .sb-contact-grid h3{margin:10px 0}
.sb-public .sb-contact-grid p{overflow-wrap:anywhere}
.sb-preview-flag{position:sticky;top:0;z-index:70;background:#fef3cd;border-bottom:1px solid #e8d7a7;color:#755017;padding:8px 20px;text-align:center;font:600 12px Inter,sans-serif}
.public-ui:has(.sb-public) .sitehead{box-shadow:none;border-bottom:1px solid #e6e3e0;min-height:85px}
.public-ui:has(.sb-public) .sitehead .brand{font-size:17px}
@media(max-width:900px){
 .sb-public .sb-hero .sb-section-inner,.sb-public .sb-texto .sb-section-inner,.sb-public .sb-video .sb-section-inner{grid-template-columns:1fr;gap:28px}
 .sb-public .sb-hero{padding:70px 22px}.sb-public .sb-hero-art,.sb-public .sb-hero-art img{min-height:270px}
 .sb-public .sb-section{padding:58px 22px}.sb-public .sb-gallery-grid{grid-template-columns:repeat(2,1fr)}
 .sb-public .sb-course-grid{grid-template-columns:repeat(2,1fr)}.sb-public .sb-highlights{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .sb-public .sb-section{padding:45px 17px}.sb-public .sb-hero{padding:60px 18px}
 .sb-public .sb-hero h1{font-size:42px}.sb-public .sb-hero p{font-size:14px}
 .sb-public .sb-gallery-grid{gap:7px}.sb-public .sb-course-grid{grid-template-columns:1fr}
 .sb-public .sb-highlights{grid-template-columns:1fr;gap:9px}.sb-public .sb-contact-grid{grid-template-columns:1fr}
 .sb-public .sb-course-item img{height:210px}.sb-public .sb-feature-image .sb-media{height:310px}
 .sb-public .sb-video .sb-section-inner{display:block}.sb-public .sb-heading{margin-bottom:20px}
}

/* Atualização premium EMAPH — hero em vídeo/imagem, capa com play e visual mais moderno */
.sb-public .sb-hero{position:relative;isolation:isolate;min-height:88vh;padding:0;overflow:hidden;background:#10151f}
.sb-public .sb-hero .sb-section-inner{position:relative;z-index:2;display:flex;align-items:flex-end;min-height:88vh;padding:120px 32px 60px;max-width:1280px}
.sb-public .sb-hero-visual{position:absolute;inset:0;z-index:0;overflow:hidden}
.sb-public .sb-hero-bg-image,.sb-public .sb-hero-bg-video,.sb-public .sb-hero-bg-embed{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.sb-public .sb-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,18,.82) 0%,rgba(7,11,18,.58) 32%,rgba(7,11,18,.30) 66%,rgba(7,11,18,.56) 100%),linear-gradient(180deg,rgba(8,12,18,.38),rgba(8,12,18,.56))}
.sb-public .sb-hero-copy{max-width:760px;position:relative;z-index:2}
.sb-public .sb-hero h1{font-size:clamp(48px,7vw,92px);line-height:.98;max-width:900px;margin:18px 0 18px}
.sb-public .sb-hero p{max-width:620px;font-size:17px;line-height:1.7;color:#f3f3f3;opacity:.92}
.sb-public .sb-hero .sb-overline{color:#fff}
.sb-public .sb-hero .sb-overline::before{background:var(--sb-accent)}
.sb-public .sb-button{min-height:52px;border-radius:8px;padding:0 28px;font-size:13px;letter-spacing:.02em}
.sb-public .sb-featured-video{max-width:1040px}
.sb-public .sb-video-shell{position:relative;border-radius:16px;overflow:hidden;background:#11161f;min-height:340px}
.sb-public .sb-video-poster{display:block;position:relative;width:100%;padding:0;border:0;background:#11161f;cursor:pointer}
.sb-public .sb-video-poster img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;filter:brightness(.72)}
.sb-public .sb-video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:rgba(214,164,58,.92);color:#111;font-size:36px;box-shadow:0 18px 34px rgba(0,0,0,.24)}
.sb-public .sb-video-real iframe,.sb-public .sb-video-real video{display:block;width:100%;aspect-ratio:16/9;min-height:340px;border:0;background:#0d1119}
.sb-public .sb-gallery-grid figure{border-radius:14px;overflow:hidden}
.sb-public .sb-gallery-grid .sb-media{aspect-ratio:4/3;object-fit:cover}
.sb-public .sb-course-item,.sb-public .sb-highlight{border-radius:14px}
@media(max-width:900px){
 .sb-public .sb-hero .sb-section-inner{min-height:80vh;padding:100px 24px 52px}
 .sb-public .sb-hero h1{font-size:54px}
 .sb-public .sb-video-play{width:72px;height:72px;font-size:28px}
}
@media(max-width:600px){
 .sb-public .sb-hero{min-height:78vh}
 .sb-public .sb-hero .sb-section-inner{min-height:78vh;padding:86px 18px 38px}
 .sb-public .sb-hero h1{font-size:42px}
 .sb-public .sb-hero p{font-size:14px}
 .sb-public .sb-video-play{width:60px;height:60px;font-size:24px}
}


/* EMAPH: posicionamento editorial das fotografias reais do material de resgate */
.sb-public .sb-hero.sb-hero-rapel .sb-hero-bg-image{transform:scaleX(-1);object-position:center center}
.sb-public .sb-hero.sb-hero-rapel .sb-hero-overlay{background:linear-gradient(90deg,rgba(8,11,15,.91) 0%,rgba(8,11,15,.78) 28%,rgba(8,11,15,.28) 65%,rgba(8,11,15,.11) 100%),linear-gradient(0deg,rgba(7,9,12,.45),transparent 56%)}
.sb-public .sb-hero.sb-hero-rapel .sb-hero-copy{max-width:575px}
.sb-public .sb-hero.sb-hero-rapel h1{font-size:clamp(40px,5.3vw,70px);line-height:1.04}
.sb-public .sb-hero.sb-hero-rapel .sb-section-inner{align-items:flex-end}
@media(max-width:760px){.sb-public .sb-hero.sb-hero-rapel .sb-hero-overlay{background:linear-gradient(0deg,rgba(7,9,12,.88),rgba(7,9,12,.18) 90%)}.sb-public .sb-hero.sb-hero-rapel .sb-hero-copy{max-width:100%}}

/* Preenchimento do banner até as bordas da janela, sem limitar a foto aos 1280px de texto. */
.sb-public .sb-hero .sb-hero-visual{width:100vw;max-width:none;left:50%;right:auto;transform:translateX(-50%)}


/* Cabeçalho sobre o hero: sem faixa branca; imagem/vídeo começa no topo da janela. */
.public-ui:has(.sb-public .sb-hero) .sitehead{
  position:absolute;top:0;left:0;right:0;z-index:85;
  background:transparent;border:0;box-shadow:none;
}
.public-ui:has(.sb-public .sb-hero) .sitehead::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:linear-gradient(180deg,rgba(9,14,23,.54),rgba(9,14,23,.06));
  pointer-events:none;
}
.public-ui:has(.sb-public .sb-hero) .sitehead .site-wordmark,
.public-ui:has(.sb-public .sb-hero) .sitehead .site-main-nav a,
.public-ui:has(.sb-public .sb-hero) .sitehead .site-header-cta{
  color:#fff;text-shadow:0 1px 9px rgba(0,0,0,.12);
}
.public-ui:has(.sb-public .sb-hero) .sitehead .site-main-nav a:hover{color:#f8ca6d}
.public-ui:has(.sb-public .sb-hero) .sitehead .site-header-arrow{background:#fff;color:#172238;text-shadow:none}
.public-ui:has(.sb-public .sb-hero) .sitehead .site-mobile-menu summary{color:#fff}
.public-ui:has(.sb-public .sb-hero) .sb-preview-flag{
  position:absolute;top:88px;left:0;right:0;z-index:75;
}
@media(max-width:900px){
  .public-ui:has(.sb-public .sb-hero) .sb-preview-flag{top:72px}
  .public-ui:has(.sb-public .sb-hero) .sitehead::before{background:linear-gradient(180deg,rgba(9,14,23,.60),rgba(9,14,23,.02))}
  .public-ui:has(.sb-public .sb-hero) .site-mobile-links a{color:#fff;text-shadow:none}
}
/* Garante tamanho editorial da marca mesmo com as regras antigas do construtor. */
.public-ui:has(.sb-public) .sitehead .site-wordmark{font-size:29px;font-weight:600;letter-spacing:-.055em}
.public-ui:has(.sb-public .sb-hero) .sitehead{min-height:88px}
@media(max-width:1150px){.public-ui:has(.sb-public) .sitehead .site-wordmark{font-size:26px}}
@media(max-width:900px){
 .public-ui:has(.sb-public) .sitehead .site-wordmark{font-size:26px}
 .public-ui:has(.sb-public .sb-hero) .sitehead{min-height:72px}
}

/* EMAPH 2026-10-08 — hero sem corte de tela, mantendo o capacete no enquadramento.
   A foto continua sendo o arquivo selecionado no Construtor e textos permanecem em HTML. */
.public-ui:has(.sb-public .sb-hero) .page:has(> .sb-public) {
  margin-top: 0;
  padding-top: 0;
}
.sb-public .sb-hero,
.sb-public .sb-hero .sb-section-inner {
  min-height: 100vh;
  min-height: 100svh;
}
.sb-public .sb-hero {
  padding: 0;
  margin: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 0;
}
.sb-public .sb-hero .sb-section-inner {
  width: 100%;
  padding: 122px 32px 60px;
  display: flex;
  align-items: flex-end;
}
.sb-public .sb-hero .sb-hero-visual {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  left: 0;
  right: 0;
  transform: none;
}
.sb-public .sb-hero-bg-image,
.sb-public .sb-hero-bg-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
/* Para o rapel: mantém a orientação editorial e começa o enquadramento pelo topo,
   sem cortar capacete ou cabeça ao preencher a largura do banner. */
.sb-public .sb-hero.sb-hero-rapel .sb-hero-bg-image {
  object-position: center top;
  transform: scaleX(-1);
}
/* Tipografia minimalista apenas no site público, não no painel administrativo. */
.public-ui:has(.sb-public) .sitehead .site-wordmark {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 400;
  font-size: 26px;
  letter-spacing: .006em;
  line-height: 1.15;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .sb-public .sb-hero,
  .sb-public .sb-hero .sb-section-inner {min-height: 100vh;min-height: 100svh;}
  .sb-public .sb-hero .sb-section-inner {padding: 106px 24px 46px;}
  .public-ui:has(.sb-public) .sitehead .site-wordmark {font-size: 25px;font-weight: 400;letter-spacing: .006em;}
}
@media (max-width: 600px) {
  .sb-public .sb-hero,
  .sb-public .sb-hero .sb-section-inner {min-height: 100vh;min-height: 100svh;}
  .sb-public .sb-hero .sb-section-inner {padding: 96px 18px 36px;}
  .sb-public .sb-hero.sb-hero-rapel .sb-hero-bg-image {object-position: 66% top;}
  .public-ui:has(.sb-public) .sitehead .site-wordmark {font-size: 24px;}
}

/* EMAPH — correção do hero em largura total (08/10/2026).
   O elemento de foto/vídeo está dentro de .sb-section-inner, limitado a 1280px.
   Centralizá-lo em relação ao centro desse bloco com largura 100vw elimina as
   faixas escuras laterais, mantendo conteúdo e botões na largura editorial. */
.public-ui .page:has(> .sb-public) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.sb-public .sb-hero {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.sb-public .sb-hero .sb-hero-visual {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: auto;
  width: 100vw;
  min-width: 100vw;
  max-width: none;
  height: 100%;
  transform: translateX(-50%);
  overflow: hidden;
}
.sb-public .sb-hero .sb-hero-bg-image,
.sb-public .sb-hero .sb-hero-bg-video,
.sb-public .sb-hero .sb-hero-bg-embed {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
/* O bloco de texto permanece na coluna, sem criar faixa atrás da foto. */
.sb-public .sb-hero .sb-hero-copy {
  position: relative;
  z-index: 2;
}
