/**
 * Header CSS — Dinâmico (logado/deslogado) + mobile menu
 * @package 55acompanhantes
 * @since   5.1.1
 */
.fm-hdr{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;border-bottom:1px solid #eee;font-family:'Montserrat',system-ui,sans-serif}
.fm-hdr a{text-decoration:none !important;color:inherit}
.fm-hdr__top{display:flex;align-items:center;max-width:1440px;margin:0 auto;padding:0 24px;height:60px;gap:12px}

/* Logo */
.fm-hdr__logo{display:flex;align-items:center;gap:2px;font-size:22px;font-weight:700;color:#222}
.fm-hdr__logo-mark{width:38px;height:38px;display:flex;align-items:center;justify-content:center}
.fm-hdr__logo-mark img{width:100%;height:100%;object-fit:contain;display:block}
.fm-hdr__logo-text b{color:#e25352;font-weight:400}
.fm-hdr__logo-text{font-size:32px}
.fm-hdr__spacer{flex:1}

/* Nav */
.fm-hdr__nav{display:flex;align-items:center;gap:4px}
.fm-hdr__link{padding:7px 12px;font-size:13px;font-weight:500;color:#555 !important;border-radius:8px;transition:all .15s;display:flex;align-items:center;gap:5px}
.fm-hdr__link:hover{color:#e25352 !important;background:#fef5f5}
.fm-hdr__link--cta{color:#e25352 !important;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.3px}
.fm-hdr__link--sv{background:linear-gradient(135deg,#fff0f1,#fff5f5);border:1px solid #ffd1d1;color:#e25352 !important;font-weight:700;padding:7px 13px;border-radius:100px;font-size:12.5px;text-transform:none;letter-spacing:0;transition:all .2s}
.fm-hdr__link--sv:hover{background:linear-gradient(135deg,#e25352,#ff8a89);color:#fff !important;border-color:#e25352;transform:translateY(-1px);box-shadow:0 4px 10px rgba(226,83,82,.2)}
.fm-hdr__sv-dot{width:7px;height:7px;background:#22C55E;border-radius:50%;display:inline-block;animation:fm-sv-pulse 1.8s infinite}
@keyframes fm-sv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
.fm-hdr__link--logout{color:#999 !important;font-size:15px;padding:7px 8px}
.fm-hdr__link--logout:hover{color:#e25352 !important}
.fm-hdr__link i{font-size:13px}

/* Coins badge */
.fm-hdr__coins{display:flex;align-items:center;gap:5px;padding:6px 12px;background:#FFF8E1;border:1px solid #FFE082;border-radius:99px;font-size:13px;font-weight:700;color:#F57F17 !important;transition:all .15s}
.fm-hdr__coins:hover{background:#FFF3C4;border-color:#FFD54F}
.fm-hdr__coins i{font-size:12px}

/* User */
.fm-hdr__user{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:8px}
.fm-hdr__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #eee}
.fm-hdr__username{font-size:13px;font-weight:600;color:#333;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Icons */
.fm-hdr__icons{display:flex;gap:4px;margin-left:4px}
.fm-hdr__icon{width:32px;height:32px;border-radius:6px;border:1px solid #eee;display:flex;align-items:center;justify-content:center;color:#888;font-size:14px;cursor:pointer;background:#fff;transition:all .15s}
.fm-hdr__icon:hover{color:#e25352;border-color:#e25352}

/* Hamburger */
.fm-hdr__hamburger{width:36px;height:36px;border-radius:8px;border:1px solid #eee;display:flex;align-items:center;justify-content:center;color:#333;font-size:18px;cursor:pointer;background:#fff;transition:all .15s}
.fm-hdr__hamburger:hover{border-color:#e25352;color:#e25352}

/* Mobile menu */
.fm-hdr__mobile-menu{
  display:none;flex-direction:column;
  background:#fff;border-top:1px solid #eee;
  padding:8px 0;
  max-height:0;overflow:hidden;transition:max-height .3s ease;
}
.fm-hdr__mobile-menu.open{display:flex;max-height:600px}
.fm-hdr__mobile-menu a{
  display:flex;align-items:center;gap:10px;
  padding:12px 24px;font-size:14px;font-weight:500;color:#333 !important;
  transition:background .15s;
}
.fm-hdr__mobile-menu a:hover{background:#f9f9f9}
.fm-hdr__mobile-menu a i{width:18px;text-align:center;color:#999;font-size:14px}
.fm-hdr__mobile-menu a.fm-hdr__mobile-sv{background:linear-gradient(135deg,#fff0f1,#fff5f5);font-weight:700;color:#e25352}
.fm-hdr__mobile-menu a.fm-hdr__mobile-sv i{color:#e25352}
.fm-hdr__mobile-menu a.fm-hdr__mobile-sv:hover{background:linear-gradient(135deg,#e25352,#ff8a89);color:#fff}
.fm-hdr__mobile-menu a.fm-hdr__mobile-sv:hover i{color:#fff}
.fm-hdr__mobile-sv-badge{margin-left:auto;background:#e25352;color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:100px;letter-spacing:.5px}
.fm-hdr__mobile-sv:hover .fm-hdr__mobile-sv-badge{background:#fff;color:#e25352}
.fm-hdr__mobile-user{
  display:flex;align-items:center;gap:12px;
  padding:16px 24px;border-bottom:1px solid #f0f0f0;margin-bottom:4px;
}
.fm-hdr__mobile-user img{width:36px;height:36px;border-radius:50%;border:2px solid #eee}
.fm-hdr__mobile-user strong{display:block;font-size:14px;color:#222}
.fm-hdr__mobile-user span{font-size:12px;color:#F57F17;display:flex;align-items:center;gap:4px}

/* Responsive */
.fm-hdr__mobile{display:none}
@media(max-width:768px){
  .fm-hdr__desktop{display:none !important}
  .fm-hdr__mobile{display:flex !important}
  .fm-hdr__top{height:56px;padding:0 16px}
  .fm-hdr__logo{font-size:20px}
}

/* Body offset */
body{padding-top:60px !important;margin:0 !important}
@media(max-width:768px){body{padding-top:56px !important}}

/* Footer */
.fm-ft{background:#263238;color:#B0BEC5;padding:40px 20px;text-align:center;font-size:13px;line-height:1.6;font-family:'Montserrat',system-ui,sans-serif}
.fm-ft a{text-decoration:none !important}
.fm-ft__inner{max-width:1440px;margin:0 auto}
.fm-ft__logo{font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}
.fm-ft__logo b{color:#e25352;font-weight:400}
.fm-ft__links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.fm-ft__links a{color:#B0BEC5 !important;font-size:13px}
.fm-ft__links a:hover{color:#fff !important}
.fm-ft__copy{font-size:11px;color:#78909C}

/* ═══ Alerta de segurança global — cores do site (coral) ═══ */
.fm-alert {
  background: linear-gradient(90deg, #e25352, #ff7a79);
  color: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 8px rgba(226,83,82,.15);
  font-family: var(--fm-font, 'Inter', -apple-system, sans-serif);
}
.fm-alert__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.fm-alert__icon {
  width: 60px; height: 60px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  color: #e25352;
  font-size: 26px;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.fm-alert__text { flex: 1; min-width: 0; }
.fm-alert__title {
  font-size: 19px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 4px;
  letter-spacing: -.2px;
}
.fm-alert__sub {
  font-size: 14px;
  color: rgba(255,255,255,.95);
  line-height: 1.45;
  font-weight: 500;
}
.fm-alert__cta {
  white-space: nowrap;
  color: #e25352 !important;
  background: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  padding: 12px 22px;
  border-radius: 10px;
  transition: all .15s;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.fm-alert__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
  color: #c43e3d !important;
}

@media (max-width: 720px) {
  .fm-alert__inner { padding: 16px 16px; gap: 14px; flex-wrap: wrap; }
  .fm-alert__icon { width: 48px; height: 48px; font-size: 20px; }
  .fm-alert__title { font-size: 15px; }
  .fm-alert__sub { font-size: 12px; }
  .fm-alert__cta { font-size: 13px; padding: 10px 16px; width: 100%; text-align: center; }
}

/* ═══ Nav categorias (Mulheres / Homens / Trans) ═══ */
.fm-catnav {
  background: #fff;
  border-bottom: 1px solid #eee;
}
.fm-catnav__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.fm-catnav__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #1a1a2e;
  text-decoration: none;
  position: relative;
  transition: color .15s;
  text-align: center;
}
.fm-catnav__tab:hover { color: #e25352; }
.fm-catnav__tab.is-active {
  color: #1a1a2e;
}
.fm-catnav__tab.is-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 20%;
  right: 20%;
  height: 3px;
  background: #e25352;
  border-radius: 2px 2px 0 0;
}

@media (max-width: 600px) {
  .fm-catnav__inner { padding: 0 8px; }
  .fm-catnav__tab { padding: 14px 6px; font-size: 13px; letter-spacing: .5px; }
}
