/*
Theme Name: Lusavero
Theme URI: https://lusavero.pt
Author: Lusavero Studio
Description: Legendarna gra o eksploracji morskiej i kartografii — oficjalny motyw WordPress promocyjny.
Version: 1.0
Text Domain: lusavero
*/

/* ============================================
   LUSAVERO — VARIÁVEIS DE DESIGN
   Paleta: oceano profundo + pergaminho + latão envelhecido + coral
   ============================================ */
:root{
  --lv-oceano-fundo:#0d2b3e;
  --lv-oceano-escuro:#081b28;
  --lv-oceano-medio:#153e57;
  --lv-pergaminho:#e8dcc0;
  --lv-pergaminho-claro:#f4ecd8;
  --lv-latao:#b8763e;
  --lv-latao-claro:#d4924f;
  --lv-coral:#c4623a;
  --lv-tinta:#1a2b33;
  --lv-sombra: rgba(8,27,40,.35);
  --lv-fonte-titulo:'IM Fell English SC', serif;
  --lv-fonte-corpo:'Vollkorn', serif;
  --lv-raio:6px;
  --lv-max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.lv-corpo{
  margin:0;
  font-family:var(--lv-fonte-corpo);
  color:var(--lv-tinta);
  background:var(--lv-pergaminho-claro);
  line-height:1.7;
  font-size:17px;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--lv-latao);text-decoration:none}
a:hover{color:var(--lv-coral)}
.lv-envolvente{max-width:var(--lv-max);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--lv-fonte-titulo);letter-spacing:.5px;color:var(--lv-oceano-fundo);margin:0 0 .5em}
h1{font-size:3rem}
h2{font-size:2.2rem}
h3{font-size:1.5rem}
p{margin:0 0 1.1em}
.lv-botao{
  display:inline-block;padding:14px 30px;background:var(--lv-latao);color:var(--lv-pergaminho-claro);
  font-family:var(--lv-fonte-titulo);font-size:1.05rem;letter-spacing:1px;border-radius:var(--lv-raio);
  border:2px solid var(--lv-latao-claro);transition:.25s;cursor:pointer;
}
.lv-botao:hover{background:var(--lv-coral);color:#fff;transform:translateY(-2px)}
.lv-botao--fantasma{background:transparent;color:var(--lv-pergaminho);border-color:var(--lv-pergaminho)}
.lv-botao--fantasma:hover{background:var(--lv-pergaminho);color:var(--lv-oceano-fundo)}

/* ============================================
   CABEÇALHO
   ============================================ */
.lv-topo{
  background:var(--lv-oceano-fundo);position:sticky;top:0;z-index:500;
  border-bottom:3px solid var(--lv-latao);
}
.lv-topo-interior{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:14px 48px;max-width:1500px;margin:0 auto;
}
.lv-brasao{
  display:flex;align-items:center;gap:12px;color:var(--lv-pergaminho);font-family:var(--lv-fonte-titulo);
  font-size:1.6rem;flex-shrink:0;white-space:nowrap;
}
.lv-brasao-icone{width:38px;height:38px}
.lv-nav-principal{flex:1;display:flex;justify-content:center;min-width:0}
.lv-nav-principal ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;white-space:nowrap}
.lv-nav-principal a{
  position:relative;color:var(--lv-pergaminho);padding:10px 15px;display:block;font-size:.92rem;
  letter-spacing:.3px;white-space:nowrap;transition:color .2s;
}
.lv-nav-principal a::after{
  content:'';position:absolute;left:15px;right:15px;bottom:4px;height:2px;background:var(--lv-latao-claro);
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.lv-nav-principal a:hover{color:var(--lv-latao-claro)}
.lv-nav-principal a:hover::after,.lv-nav-principal .current-menu-item a::after{transform:scaleX(1)}
.lv-nav-principal .current-menu-item a{color:var(--lv-latao-claro)}
.lv-topo .lv-botao{flex-shrink:0;white-space:nowrap}
.lv-menu-alternar{display:none;background:none;border:none;color:var(--lv-pergaminho);font-size:1.8rem;cursor:pointer;flex-shrink:0}

@media(max-width:1180px){
  .lv-topo-interior{padding:14px 24px}
  .lv-nav-principal a{padding:10px 11px;font-size:.86rem}
}
@media(max-width:980px){
  .lv-nav-principal{display:none;width:100%;order:3;justify-content:flex-start}
  .lv-nav-principal.lv-aberto{display:flex}
  .lv-nav-principal ul{flex-direction:column;gap:0;width:100%}
  .lv-nav-principal a{padding:14px 4px;width:100%}
  .lv-nav-principal a::after{display:none}
  .lv-menu-alternar{display:block}
  .lv-topo-interior{flex-wrap:wrap;gap:16px}
}

/* ============================================
   HERO (página inicial) — vela cheia
   ============================================ */
.lv-hero{
  position:relative;min-height:88vh;display:flex;align-items:center;
  background:linear-gradient(180deg,rgba(8,27,40,.55),rgba(8,27,40,.85)),url('images/hero-sailboat.jpg') center/cover no-repeat;
  color:var(--lv-pergaminho-claro);
}
.lv-hero-conteudo{max-width:680px;padding:0 24px;margin:0 auto;text-align:center}
.lv-hero-selo{
  display:inline-block;font-family:var(--lv-fonte-titulo);letter-spacing:3px;color:var(--lv-latao-claro);
  border:1px solid var(--lv-latao-claro);padding:6px 18px;border-radius:30px;margin-bottom:22px;font-size:.85rem;
}
.lv-hero h1{color:#fff;font-size:3.6rem;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.lv-hero p{font-size:1.2rem;color:var(--lv-pergaminho)}
.lv-hero-acoes{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.lv-hero-onda{position:absolute;bottom:0;left:0;width:100%;line-height:0}

/* ============================================
   DIVISOR ondulado (gravura de carta náutica)
   ============================================ */
.lv-divisor-onda{width:100%;height:60px;display:block}

/* ============================================
   SECÇÃO — introdução em duas colunas
   ============================================ */
.lv-intro-dividida{padding:100px 0;background:var(--lv-pergaminho-claro)}
.lv-intro-grade{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.lv-intro-retrato{position:relative}
.lv-intro-retrato img{border-radius:50%;border:6px solid var(--lv-latao);width:320px;height:320px;object-fit:cover;margin:0 auto}
.lv-intro-retrato::after{
  content:'';position:absolute;inset:-14px;border:2px dashed var(--lv-latao-claro);border-radius:50%;
  animation:lv-girar 60s linear infinite;
}
@keyframes lv-girar{to{transform:rotate(360deg)}}
.lv-intro-etiqueta{color:var(--lv-coral);font-family:var(--lv-fonte-titulo);letter-spacing:2px;text-transform:uppercase;font-size:.9rem}
@media(max-width:800px){.lv-intro-grade{grid-template-columns:1fr}}

/* ============================================
   CARTA DE EXPLORAÇÃO — mapa interativo
   ============================================ */
.lv-carta{padding:100px 0;background:var(--lv-oceano-fundo);color:var(--lv-pergaminho);position:relative;overflow:hidden}
.lv-carta-cabecalho{text-align:center;max-width:640px;margin:0 auto 50px}
.lv-carta-cabecalho h2{color:var(--lv-pergaminho-claro)}
.lv-carta-mapa{
  position:relative;max-width:1000px;margin:0 auto;border:6px solid var(--lv-latao);border-radius:var(--lv-raio);
  background:url('images/mapa-arquipelago.jpg') center/cover no-repeat;aspect-ratio:1/1;box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.lv-ilha-marcador{
  position:absolute;width:34px;height:34px;background:var(--lv-coral);border:3px solid var(--lv-pergaminho-claro);
  border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(196,98,58,.6);
  animation:lv-pulsar 2.4s ease-out infinite;
}
@keyframes lv-pulsar{
  0%{box-shadow:0 0 0 0 rgba(196,98,58,.55)}
  70%{box-shadow:0 0 0 18px rgba(196,98,58,0)}
  100%{box-shadow:0 0 0 0 rgba(196,98,58,0)}
}
.lv-carta-lorebox{
  margin-top:28px;background:var(--lv-oceano-medio);border-left:4px solid var(--lv-latao);border-radius:var(--lv-raio);
  padding:22px 26px;display:none;
}
.lv-carta-lorebox.lv-mostrar{display:block}
.lv-carta-lorebox h4{color:var(--lv-latao-claro);margin-bottom:8px}
.lv-carta-lorebox p{color:var(--lv-pergaminho);margin:0}

/* ============================================
   FROTA — grade de navios
   ============================================ */
.lv-frota{padding:100px 0;background:var(--lv-pergaminho-claro)}
.lv-frota-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}
.lv-frota-cartao{
  background:#fff;border-radius:var(--lv-raio);overflow:hidden;box-shadow:0 10px 30px rgba(13,43,62,.12);
  border:1px solid rgba(184,118,62,.25);transition:.25s;
}
.lv-frota-cartao:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(13,43,62,.2)}
.lv-frota-imagem{height:200px;overflow:hidden}
.lv-frota-imagem img{width:100%;height:100%;object-fit:cover}
.lv-frota-corpo{padding:22px}
.lv-frota-classe{font-family:var(--lv-fonte-titulo);color:var(--lv-coral);font-size:.85rem;letter-spacing:1px;text-transform:uppercase}
.lv-frota-atributos{list-style:none;margin:16px 0 0;padding:0}
.lv-frota-atributos li{display:flex;justify-content:space-between;font-size:.9rem;padding:5px 0;border-bottom:1px dashed #e0d5bd}
.lv-frota-barra{background:#e8dcc0;border-radius:10px;height:8px;overflow:hidden;width:100px}
.lv-frota-barra span{display:block;height:100%;background:var(--lv-latao)}
@media(max-width:900px){.lv-frota-grade{grid-template-columns:1fr}}

/* ============================================
   SIMULADOR DE COMBATE NAVAL
   ============================================ */
.lv-combate{
  padding:100px 0;position:relative;color:#fff;
  background:linear-gradient(180deg,rgba(8,27,40,.9),rgba(8,27,40,.96)),url('images/combate-bg.jpg') center/cover no-repeat;
}
.lv-combate-caixa{max-width:820px;margin:50px auto 0;background:rgba(21,62,87,.55);border:1px solid var(--lv-latao);border-radius:var(--lv-raio);padding:32px}
.lv-combate-navios{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin-bottom:26px}
.lv-combate-navio h4{color:var(--lv-pergaminho-claro);margin-bottom:10px}
.lv-combate-vs{font-family:var(--lv-fonte-titulo);font-size:1.6rem;color:var(--lv-coral)}
.lv-combate-hp{background:rgba(0,0,0,.35);border-radius:10px;height:16px;overflow:hidden;margin-bottom:4px}
.lv-combate-hp span{display:block;height:100%;transition:width .4s ease}
.lv-combate-hp--a span{background:var(--lv-latao-claro)}
.lv-combate-hp--b span{background:var(--lv-coral)}
.lv-combate-log{
  background:var(--lv-oceano-escuro);border-radius:var(--lv-raio);padding:16px 20px;height:150px;overflow-y:auto;
  font-size:.9rem;color:var(--lv-pergaminho);
}
.lv-combate-log p{margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid rgba(232,220,192,.1)}
.lv-combate-acoes{text-align:center;margin-top:20px}

/* ============================================
   COMO FUNCIONA — fluxo de jogo
   ============================================ */
.lv-fluxo{padding:100px 0;background:var(--lv-pergaminho-claro)}
.lv-fluxo-passos{display:flex;justify-content:space-between;gap:24px;margin-top:50px;position:relative}
.lv-fluxo-passos::before{
  content:'';position:absolute;top:34px;left:5%;right:5%;height:2px;
  background:repeating-linear-gradient(90deg,var(--lv-latao) 0 10px,transparent 10px 20px);
}
.lv-fluxo-passo{flex:1;text-align:center;position:relative;z-index:2}
.lv-fluxo-numero{
  width:70px;height:70px;border-radius:50%;background:var(--lv-oceano-fundo);color:var(--lv-latao-claro);
  display:flex;align-items:center;justify-content:center;font-family:var(--lv-fonte-titulo);font-size:1.6rem;
  margin:0 auto 16px;border:3px solid var(--lv-latao);
}
@media(max-width:900px){.lv-fluxo-passos{flex-direction:column}.lv-fluxo-passos::before{display:none}}

/* ============================================
   MENSAGENS NA GARRAFA — tira de relatos
   ============================================ */
.lv-garrafas{padding:100px 0;background:var(--lv-oceano-medio);overflow:hidden}
.lv-garrafas-cabecalho{text-align:center;color:var(--lv-pergaminho-claro);max-width:600px;margin:0 auto 50px}
.lv-garrafas-cabecalho h2{color:var(--lv-pergaminho-claro)}
.lv-garrafas-faixa{display:flex;gap:26px;overflow-x:auto;padding:10px 24px 30px;scroll-snap-type:x mandatory}
.lv-garrafa-cartao{
  flex:0 0 300px;background:var(--lv-pergaminho-claro);border-radius:var(--lv-raio);padding:24px;scroll-snap-align:start;
  position:relative;box-shadow:0 12px 30px rgba(0,0,0,.3);
}
.lv-garrafa-icone{width:56px;height:56px;border-radius:50%;object-fit:cover;float:left;margin-right:14px;border:2px solid var(--lv-latao)}
.lv-garrafa-nome{font-family:var(--lv-fonte-titulo);color:var(--lv-oceano-fundo)}
.lv-garrafa-estrelas{color:var(--lv-latao);letter-spacing:2px}
.lv-garrafa-texto{clear:both;padding-top:10px;font-style:italic;font-size:.95rem}

/* ============================================
   CTA final
   ============================================ */
.lv-cta-final{padding:110px 0;text-align:center;background:var(--lv-oceano-fundo);color:#fff}
.lv-cta-final h2{color:#fff;font-size:2.6rem}

/* ============================================
   RODAPÉ
   ============================================ */
.lv-rodape{background:var(--lv-oceano-escuro);color:var(--lv-pergaminho);padding:70px 0 24px}
.lv-rodape-grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.lv-rodape h4{color:var(--lv-latao-claro);font-size:1rem;letter-spacing:1px;text-transform:uppercase}
.lv-rodape ul{list-style:none;padding:0;margin:0}
.lv-rodape li{margin-bottom:10px}
.lv-rodape a{color:var(--lv-pergaminho)}
.lv-rodape-baixo{
  max-width:var(--lv-max);margin:50px auto 0;padding:20px 24px 0;border-top:1px solid rgba(232,220,192,.15);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;color:rgba(232,220,192,.6);
}
@media(max-width:900px){.lv-rodape-grade{grid-template-columns:1fr 1fr}}

/* ============================================
   PÁGINAS INTERNAS — banner genérico
   ============================================ */
.lv-banner-pagina{
  padding:120px 0 60px;text-align:center;color:#fff;
  background:linear-gradient(180deg,rgba(8,27,40,.6),rgba(8,27,40,.9)),var(--lv-banner-img,none);
  background-size:cover;background-position:center;
}
.lv-banner-pagina h1{color:#fff}
.lv-conteudo-pagina{padding:80px 0;max-width:840px;margin:0 auto}
.lv-conteudo-pagina h2{margin-top:1.6em}
.lv-conteudo-pagina ul{padding-left:20px}

/* ============================================
   FLUXO — timeline blog (Diário de Bordo)
   ============================================ */
.lv-diario{padding:80px 0}
.lv-diario-linha{position:relative;max-width:860px;margin:50px auto 0;padding-left:40px;border-left:3px solid var(--lv-latao)}
.lv-diario-entrada{position:relative;margin-bottom:50px}
.lv-diario-entrada::before{
  content:'';position:absolute;left:-49px;top:6px;width:16px;height:16px;border-radius:50%;
  background:var(--lv-coral);border:3px solid var(--lv-pergaminho-claro);box-shadow:0 0 0 2px var(--lv-latao);
}
.lv-diario-data{font-family:var(--lv-fonte-titulo);color:var(--lv-latao);font-size:.9rem;letter-spacing:1px}
.lv-diario-imagem{border-radius:var(--lv-raio);overflow:hidden;margin:14px 0;max-height:280px}
.lv-diario-imagem img{width:100%;object-fit:cover;max-height:280px}

/* ============================================
   RELATOS (página) — cartões garrafa completos
   ============================================ */
.lv-relatos-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:40px}
.lv-relato-cartao{background:#fff;border-radius:var(--lv-raio);padding:26px;box-shadow:0 8px 24px rgba(13,43,62,.1);border-left:4px solid var(--lv-latao)}
@media(max-width:800px){.lv-relatos-grade{grid-template-columns:1fr}}
.lv-form-relato{background:var(--lv-pergaminho);padding:34px;border-radius:var(--lv-raio);margin-top:60px;border:1px solid rgba(184,118,62,.3)}
.lv-form-relato label{display:block;margin-bottom:6px;font-family:var(--lv-fonte-titulo);color:var(--lv-oceano-fundo)}
.lv-form-relato input:not([type=checkbox]):not([type=radio]),.lv-form-relato textarea,.lv-form-relato select{
  width:100%;padding:11px 14px;border:1px solid #cbb98f;border-radius:var(--lv-raio);margin-bottom:18px;
  font-family:var(--lv-fonte-corpo);font-size:1rem;background:#fff;
}
.lv-form-gdpr{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;margin-bottom:22px;line-height:1.5}
.lv-form-gdpr input[type=checkbox]{
  width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--lv-latao);cursor:pointer;
}
.lv-hp-campo{position:absolute;left:-9999px;opacity:0}

/* ============================================
   CONTACTO
   ============================================ */
.lv-contacto-grade{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:40px}
.lv-contacto-info li{display:flex;gap:12px;margin-bottom:20px;align-items:flex-start}
@media(max-width:800px){.lv-contacto-grade{grid-template-columns:1fr}}

/* ============================================
   COOKIE BANNER
   ============================================ */
.lv-cookie-faixa{
  position:fixed;left:0;bottom:0;width:100%;background:var(--lv-oceano-escuro);color:var(--lv-pergaminho);
  padding:20px 24px;z-index:900;display:none;box-shadow:0 -10px 30px rgba(0,0,0,.3);border-top:2px solid var(--lv-latao);
}
.lv-cookie-faixa.lv-mostrar{display:block}
.lv-cookie-interior{max-width:var(--lv-max);margin:0 auto;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.lv-cookie-botoes{display:flex;gap:12px;flex-shrink:0}
.lv-botao-pequeno{padding:9px 18px;font-size:.9rem}

/* ============================================
   404
   ============================================ */
.lv-404{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--lv-oceano-fundo);color:#fff;padding:40px 24px}
.lv-404 h1{font-size:5rem;color:var(--lv-latao-claro)}
