/*
Theme Name: Arquivo do Clube
Theme URI: https://example.com
Author: Paulo
Author URI: https://example.com
Description: Tema base para o plugin Arquivo do Clube
Version: 0.5.5
Text Domain: arquivo-do-clube
*/

body {
  font-family: Arial, sans-serif;
}


/* =========================
   Header + Footer (grid + cores)
========================= */
:root{
  --ac-bg: #0b1320;
  --ac-surface: #101a2c;
  --ac-text: #e9eef7;
  --ac-muted: rgba(233,238,247,.75);
  --ac-link: #ffffff;
  --ac-border: rgba(255,255,255,.12);
  --ac-max: 1200px;
}

.ac-site-header{
  position: relative;
  background: var(--ac-bg);
  border-bottom: 1px solid var(--ac-border);
}
.ac-header-inner{
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}
.ac-header-brand a{
  color: var(--ac-text);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .2px;
}
.ac-header-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}
.ac-header-nav a{
  color: var(--ac-muted);
  text-decoration: none;
  font-weight: 600;
  padding: 6px 8px;
  border-radius: 10px;
}
.ac-header-nav a:hover{
  color: var(--ac-link);
  background: rgba(255,255,255,.08);
}

.ac-nav-toggle{
  display:inline-flex;
align-items:center;
  justify-content:center;
  width:42px;
  height:38px;
  border-radius:12px;
  border:1px solid var(--ac-border);
  background: transparent;
  color: var(--ac-text);
  cursor:pointer;
}
.ac-header-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:flex-end;
  list-style:none;
  margin:0;
  padding:0;
}
.ac-header-nav li{ margin:0; padding:0; }
.ac-header-nav li a{ display:inline-block; }

.ac-mobile-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ac-mobile-nav li{ margin:0; padding:0; }

.ac-nav-toggle:hover{
  background: rgba(255,255,255,.08);
}
.ac-nav-toggle-bars{
  width:18px;
  height:2px;
  background: currentColor;
  position: relative;
  display:block;
  border-radius:2px;
}
.ac-nav-toggle-bars:before,
.ac-nav-toggle-bars:after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background: currentColor;
  border-radius:2px;
}
.ac-nav-toggle-bars:before{ top:-6px; }
.ac-nav-toggle-bars:after{ top:6px; }

.ac-mobile-nav{
  display:none;
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 6px 16px 14px 16px;
  border-bottom: 1px solid var(--ac-border);
}
.ac-mobile-nav a{
  display:block;
  padding: 10px 10px;
  border-radius: 12px;
  color: var(--ac-muted);
  text-decoration:none;
  font-weight:600;
}
.ac-mobile-nav a:hover{
  color: var(--ac-link);
  background: rgba(255,255,255,.08);
}

.ac-footer-copy{
  text-align:center;
  color: var(--ac-muted);
  font-weight:600;
  font-size:13px;
}

@media (max-width: 760px){
  .ac-header-inner{
    grid-template-columns: 1fr auto;
  }
  .ac-header-nav{
    display:none !important;
  }
  .ac-nav-toggle{
    display:inline-flex !important;
  }
  body.ac-nav-open .ac-mobile-nav{
    display:block !important;
  }
}

.ac-site-footer{
  background: var(--ac-bg);
  border-top: 1px solid var(--ac-border);
  margin-top: 40px;
  padding: 18px 16px;
}
.ac-footer-inner{
  max-width: var(--ac-max);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.ac-footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
}
.ac-footer-nav a{
  color: var(--ac-muted);
  text-decoration:none;
  font-weight:600;
  padding: 6px 8px;
  border-radius: 10px;
}
.ac-footer-nav a:hover{
  color: var(--ac-link);
  background: rgba(255,255,255,.08);
}

/* Ajuste de base para o site */
body{
  margin:0;
}

/* Dedupe: evita header duplicado caso algum template imprima duas vezes */
header.ac-site-header:not(:first-of-type){display:none !important;}


/* =========================
   Visual polish (tipografia, espaçamento, cards)
   ========================= */
:root{
  --ac-bg: #ffffff;
  --ac-surface: #ffffff;
  --ac-surface-2: #fafafa;
  --ac-text: #111827;
  --ac-muted: #6b7280;
  --ac-border: rgba(17,24,39,.12);
  --ac-border-2: rgba(17,24,39,.18);
  --ac-accent: #b91c1c; /* vermelho Náutico-ish */
  --ac-accent-2: #991b1b;
  --ac-radius: 14px;
  --ac-radius-sm: 10px;
  --ac-shadow: 0 8px 24px rgba(17,24,39,.06);
  --ac-shadow-sm: 0 6px 18px rgba(17,24,39,.07);
  --ac-max: 1120px;
  --ac-gutter: 16px;
}

html{scroll-behavior:smooth}
body{
  background: var(--ac-bg);
  color: var(--ac-text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{color: var(--ac-accent); text-underline-offset: 2px}
a:hover{color: var(--ac-accent-2)}

h1,h2,h3,h4{line-height:1.2; letter-spacing:-.02em}
h1{font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 10px}
h2{font-size: clamp(20px, 2.2vw, 28px); margin: 0 0 10px}
h3{font-size: 18px; margin: 0 0 8px}

p{margin: 0 0 12px}
small,.muted{color: var(--ac-muted)}

/* Layout container */
.ac-page, .site, .ac-wrap, .wrap, .container, main{
  max-width: var(--ac-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ac-gutter);
  padding-right: var(--ac-gutter);
}

/* Header */
.ac-site-header{
  background: var(--ac-surface);
  border-bottom: 1px solid var(--ac-border);
}
.ac-header-inner{
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 14px var(--ac-gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}
.ac-header-brand a{
  color: var(--ac-text);
  text-decoration:none;
  font-weight: 800;
  letter-spacing:-.02em;
  font-size: 18px;
}
.ac-header-nav{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 14px;
}
.ac-header-nav a{
  color: var(--ac-text);
  text-decoration:none;
  font-weight: 600;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 999px;
}
.ac-header-nav a:hover{
  background: rgba(185,28,28,.08);
  color: var(--ac-accent);
}

/* Footer */
.ac-site-footer, .ac-global-footer{
  background: var(--ac-surface-2);
  border-top: 1px solid var(--ac-border);
  margin-top: 48px;
}
.ac-footer-inner{
  max-width: var(--ac-max);
  margin: 0 auto;
  padding: 18px var(--ac-gutter);
}
.ac-footer-nav, .ac-global-footer .ac-footer-inner{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 14px;
}
.ac-footer-nav a, .ac-global-footer .ac-footer-inner a{
  color: var(--ac-text);
  text-decoration:none;
  font-weight: 600;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 999px;
}
.ac-footer-nav a:hover, .ac-global-footer .ac-footer-inner a:hover{
  background: rgba(185,28,28,.08);
  color: var(--ac-accent);
}

/* Cards / boxes: aplica em blocos comuns (sem depender do plugin) */
.ac-card, .card, .box, .panel,
.ac-section, .ac-block,
.ac-stats-box, .ac-stat-box{
  background: var(--ac-surface);
  border: 1px solid var(--ac-border);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow);
}

/* Inputs */
input, select, textarea, button{
  font: inherit;
}
select, input[type="text"], input[type="number"], input[type="date"], textarea{
  border: 1px solid var(--ac-border-2);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}
select:focus, input:focus, textarea:focus{
  outline: none;
  border-color: rgba(185,28,28,.55);
  box-shadow: 0 0 0 3px rgba(185,28,28,.15);
}

/* Tabelas padrão */
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background: var(--ac-surface);
  border: 1px solid var(--ac-border);
  border-radius: var(--ac-radius);
  overflow:hidden;
}
th, td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--ac-border);
  text-align:left;
}
tr:last-child td{border-bottom:none}
th{
  background: #f8fafc;
  font-weight: 700;
  color: var(--ac-text);
}

/* Responsivo: não deixa o menu estourar */
@media (max-width: 760px){
  .ac-header-inner{flex-direction:column; align-items:flex-start}
  .ac-header-nav a, .ac-footer-nav a{padding: 7px 9px}
}



@media (min-width: 761px){
  .ac-nav-toggle{display:none !important;}
  .ac-mobile-nav{display:none !important;}
  body.ac-nav-open .ac-mobile-nav{display:none !important;}
}


/* === Mobile menu toggle (Fix 3) === */
.ac-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ac-nav-toggle{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:46px;
  height:40px;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  position:relative;
  padding:0;
  margin-left:auto;
}
.ac-nav-toggle span{
  display:block;
  width:26px;
  height:3px;
  border-radius:999px;
  background:#cc0000;
  box-shadow:0 6px 0 #cc0000, 0 -6px 0 #cc0000; /* listras vermelhas */
}
.ac-mobile-nav{display:none;}
body.ac-nav-open .ac-mobile-nav{display:block;}
@media (min-width: 761px){
  .ac-nav-toggle{display:none !important;}
  .ac-mobile-nav{display:none !important;}
}
@media (max-width: 760px){
  .ac-header-nav{display:none !important;}
  .ac-nav-toggle{display:inline-flex !important;}
  .ac-mobile-nav{
    position:absolute;
    top:100%;
    right:12px;
    left:12px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    box-shadow:0 16px 48px rgba(0,0,0,.12);
    padding:10px;
    z-index:9999;
  }
  .ac-header{position:relative;}
  .ac-mobile-nav a{
    display:block;
    padding:12px 14px;
    border-radius:12px;
    text-decoration:none;
  }
  .ac-mobile-nav a:hover{background:rgba(0,0,0,.04);}
}

/* ==============================
   Barra de busca (header)
   ============================== */
.ac-searchbar-wrap {
  padding: 18px 0 6px;
}

.ac-searchbar-wrap .container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

.ac-searchbar {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.ac-search-input {
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  outline: none;
  font-size: 14px;
}

.ac-search-input:focus {
  border-color: rgba(0,0,0,.20);
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}

.ac-search-btn {
  height: 44px;
  width: 44px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ac-search-btn:hover {
  background: rgba(0,0,0,.03);
}


/* ===== DROPDOWN MENU (FIX POSIÇÃO + ANTI-GAP) ===== */
@media (min-width: 761px){
  .ac-header-nav li{ position:relative; }
  .ac-header-nav ul.sub-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    z-index:9999;
    flex-wrap:nowrap;
    gap:0;
    justify-content:flex-start;
    flex-direction:column;
    min-width:220px;
    margin:0;
    padding:8px 0;
    list-style:none;
    background:#fff;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
  }
  .ac-header-nav li:hover > ul.sub-menu,
  .ac-header-nav li:focus-within > ul.sub-menu{
    display:flex;
  }
  .ac-header-nav ul.sub-menu::before{
    content:"";
    position:absolute;
    left:0; right:0;
    top:-12px;
    height:12px;
  }
  .ac-header-nav ul.sub-menu a{
    display:block;
    padding:8px 16px;
    white-space:nowrap;
  }
}

/* ===== AJUSTES: LOGO + MENU (15%) + SETA SUBMENU ===== */
.ac-site-logo{
  height:51px; /* 44px * 1.15 */
  width:auto;
  display:block;
}
@media (max-width: 760px){
  .ac-site-logo{
    height:39px; /* 34px * 1.15 */
  }
}

/* aumenta fonte do menu */
@media (min-width: 761px){
  .ac-header-nav > ul > li > a{
    font-size: 1.15em;
  }
}
@media (max-width: 760px){
  .ac-header-nav a{
    font-size: 1.12em;
  }
}

/* setinha nos itens que têm submenu */
@media (min-width: 761px){
  .ac-header-nav .menu-item-has-children > a::after{
    content:"▾";
    display:inline-block;
    margin-left:6px;
    font-size:0.85em;
    line-height:1;
    vertical-align:middle;
    opacity:.75;
  }
}
