/* REGRA ABSOLUTA: nunca quebrar palavra com hifen */
*,*::before,*::after{-webkit-hyphens:none!important;-ms-hyphens:none!important;hyphens:none!important;word-break:keep-all;overflow-wrap:normal}
/* ══════════════════════════════════════════════════════
   FRISSON — Identidade global (carregado em TODAS as páginas)
   Variáveis, tipografia, topbar, header e rodapé.
   As páginas de conteúdo são montadas no Elementor e podem
   usar estas variáveis: var(--azul), var(--verm), etc.
   ══════════════════════════════════════════════════════ */
:root{
    --azul:#1B3A6B;
    --azul-esc:#12294D;
    --azul-cl:#2A5490;
    --azul-luz:#EAF0F7;
    --verm:#B03A3A;
    --verm-esc:#8F2E2E;
    --verm-luz:#FBEFEF;
    --ink:#1A1F2B;
    --slate:#64707F;
    --line:#E4E8EE;
    --bg:#FFFFFF;
    --soft:#F6F8FB;
    --serif:'Playfair Display',Georgia,serif;
    --sans:'Montserrat',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{font-family:var(--sans);color:var(--ink);line-height:1.6;}
  .wrap{max-width:1220px;margin:0 auto;padding:0 24px;}
  a{text-decoration:none;color:inherit;}

/* ── TOPBAR + HEADER ── */
  /* TOPBAR */
  .topbar{background:var(--azul-esc);color:rgba(255,255,255,.85);font-size:12.5px;padding:9px 0;}
  .topbar .in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .topbar .l{display:flex;gap:20px;}
  .topbar .r{display:flex;gap:14px;}
  .topbar a:hover{color:#fff;}

  /* HEADER */
  header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;box-shadow:0 1px 12px rgba(0,0,0,.04);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:15px 0;}
  .logo{font-family:var(--serif);font-size:31px;color:var(--azul);line-height:1;font-weight:600;}
  .logo small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:3.2px;text-transform:uppercase;color:var(--slate);margin-top:3px;font-weight:600;}
  .menu{display:flex;gap:28px;align-items:center;}
  .menu a{font-size:14px;font-weight:600;transition:.2s;}
  .menu a:hover{color:var(--azul);}
  .menu a.dest{color:var(--verm);}
  .btn-conta{background:var(--verm);color:#fff!important;padding:11px 22px;border-radius:4px;font-size:13px;font-weight:700;transition:.2s;}
  .btn-conta:hover{background:var(--verm-esc);}

/* ── Botão hambúrguer (escondido no desktop) ── */
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
  .menu-toggle span{display:block;width:26px;height:3px;background:var(--azul);border-radius:2px;transition:.3s;}
  .menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
/* ── Menu mobile (escondido por padrão) ── */
  .menu-mobile{display:none;background:#fff;border-top:1px solid var(--line);}
  .menu-mobile-lista{list-style:none;margin:0;padding:8px 0;}
  .menu-mobile-lista li{margin:0;}
  .menu-mobile-lista a{display:block;padding:15px 24px;font-size:15px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);transition:.2s;}
  .menu-mobile-lista a:hover{background:var(--soft,#F4F6FA);color:var(--azul);}
  .menu-mobile.open{display:block;}

/* ── RODAPÉ ── */
  footer{background:var(--azul-esc);color:rgba(255,255,255,.75);padding:60px 0 26px;}
  .ft-grid{display:grid;grid-template-columns:1.8fr 1fr 1.3fr;gap:46px;margin-bottom:44px;}
  .ft-logo{font-family:var(--serif);font-size:29px;color:#fff;margin-bottom:14px;font-weight:600;}
  .ft p{font-size:13.5px;line-height:1.8;margin-bottom:18px;}
  .ft h5{color:#fff;font-size:13px;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:1.2px;}
  .ft a{display:block;font-size:13.5px;padding:6px 0;transition:.2s;}
  .ft a:hover{color:#fff;padding-left:5px;}
  .ft .ct{display:flex;gap:11px;margin-bottom:14px;font-size:13.5px;align-items:flex-start;}
  .ft .ct .ic{color:var(--verm);font-size:15px;margin-top:2px;}
  .social{display:flex;gap:10px;margin-top:16px;}
  .social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:0;font-size:15px;}
  .social a:hover{background:var(--verm);padding:0;}
  .ft-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;}

/* ── Botões reutilizáveis (pode aplicar como classe no Elementor) ── */
.btn-p{display:inline-block;background:var(--verm);color:#fff;padding:14px 30px;border-radius:5px;font-weight:700;font-size:14px;transition:.2s;}
.btn-p:hover{background:var(--verm-esc);}
.btn-s{display:inline-block;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);padding:13px 28px;border-radius:5px;font-weight:700;font-size:14px;transition:.2s;}
.btn-s:hover{background:rgba(255,255,255,.12);border-color:#fff;}

/* ── Responsivo da moldura ── */
@media(max-width:960px){
  .menu{display:none;}
  .topbar{display:none;}
  .menu-toggle{display:flex;}
  .ft-grid{grid-template-columns:1fr;}
}
