/* APUS LOCADOR — assets/app.css (standalone, sem CSS global) */
:root{
  --apus-dark:#101317;
  --apus-navy:#1a2738;
  --apus-blue:#057ab4;
  --apus-sky:#009fed;
  --apus-line:#e6edf5;

  --apus-card:#ffffff;
  --apus-text:#0f172a;
  --apus-muted:#64748b;

  --apus-accent:#d08717;
  --apus-accent-weak:#e8b488;

  --apus-success:#059669;
  --apus-success-bg:#ecfdf5;

  --apus-warn:#b45309;
  --apus-warn-bg:#fffbeb;

  --apus-danger:#b91c1c;
  --apus-danger-bg:#fef2f2;
}

html, body{
  height: 100%;
  margin: 0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: #f8fafc;
  color: var(--apus-text);
}

a{ color: inherit; }

/* ===== Header (imitado) ===== */
.apus-topbar{
  background: #fff;
  border-bottom: 1px solid var(--apus-line);
  position: sticky;
  top: 0;
  z-index: 60;
}

.apus-topbar-inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.apus-brand{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
}

.apus-brand img{
  height: 42px;
  width: auto;
  display: block;
}

.apus-brand h2{
  margin: 0;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
}

.apus-nav{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.apus-nav a{
  text-decoration: none;
  color: #334155;
  font-weight: 800;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  transition: 150ms ease;
}

.apus-nav a:hover{
  background: #f3f6fb;
  color: var(--apus-blue);
}

@media (max-width: 720px){
  .apus-topbar-inner{ padding: 12px 14px; }
  .apus-brand h2{ font-size: 16px; }
  .apus-brand img{ height: 36px; }
  .apus-nav a{ padding: 8px 10px; font-size: 14px; }
}

/* ===== Hero compacto ===== */
.apus-hero{
  background: linear-gradient(180deg, var(--apus-dark) 0%, var(--apus-navy) 100%);
  position: relative;
  z-index: 1;
  padding-top: 34px;
  padding-bottom: 26px;
}

.apus-hero .apus-hero-logo{
  height: 62px;
  width: auto;
  opacity: .96;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.28));
}

@media (min-width: 768px){
  .apus-hero{ padding-top: 40px; padding-bottom: 30px; }
  .apus-hero .apus-hero-logo{ height: 74px; }
}

/* ===== Tabs ===== */
.apus-tabs-sticky{
  position: sticky;
  top: 64px;
  z-index: 55;
}

@media (max-width: 720px){ .apus-tabs-sticky{ top: 58px; } }

.apus-tab{
  appearance: none;
  border: 1px solid #dbe7f5;
  background: #fff;
  color: #334155;
  font-weight: 900;
  font-size: 14px;
  padding: 10px 16px;
  border-radius: 999px;
  transition: 150ms ease;
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
  cursor: pointer;
  outline: none;
}

.apus-tab:hover{
  transform: translateY(-1px);
  border-color: #cfe0f4;
}

.apus-tab--active{
  background: linear-gradient(135deg, #d08717 0%, #e8b488 100%);
  color: #0b1220;
  border-color: transparent;
  box-shadow: 0 14px 26px rgba(208,135,23,.18);
}

.apus-tab-content{ display:none; }
.apus-tab-content--active{ display:block; }

/* ===== Cards ===== */
.apus-card{
  background: var(--apus-card);
  border: 1px solid #e6edf5;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 38px rgba(15,23,42,.06);
}

.apus-card--accent{
  background: linear-gradient(0deg, rgba(208,135,23,.08), rgba(208,135,23,.08)), #fff;
  border-color: rgba(208,135,23,.25);
}

.apus-card--success{
  background: linear-gradient(0deg, rgba(5,150,105,.07), rgba(5,150,105,.07)), #fff;
  border-color: rgba(5,150,105,.25);
}

.apus-card--danger{
  background: linear-gradient(0deg, rgba(185,28,28,.06), rgba(185,28,28,.06)), #fff;
  border-color: rgba(185,28,28,.20);
}

.apus-card--info{
  background: linear-gradient(0deg, rgba(0,159,237,.06), rgba(0,159,237,.06)), #fff;
  border-color: rgba(0,159,237,.25);
}

.apus-ill{
  width: 170px;
  max-width: 170px;
  flex: 0 0 170px;
  display: grid;
  place-items: center;
}

.apus-ill img, .apus-ill svg{ width: 160px; height: 160px; display:block; }

@media (max-width: 768px){
  .apus-ill{ width: 140px; max-width: 140px; flex-basis: 140px; }
  .apus-ill img, .apus-ill svg{ width: 140px; height: 140px; }
}

.apus-step{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 900;
  background: linear-gradient(135deg, #d08717 0%, #e8b488 100%);
  color: #0b1220;
  box-shadow: 0 14px 26px rgba(208,135,23,.18);
}

.apus-info{
  background: #f1f7ff;
  border: 1px solid #dbeafe;
}

.apus-warn{
  background: var(--apus-warn-bg);
  border: 1px solid rgba(180,83,9,.25);
}

.apus-whats{
  color: var(--apus-blue);
  font-weight: 900;
  text-decoration: none;
  border-bottom: 1px dashed rgba(5,122,180,.35);
  padding-bottom: 1px;
  transition: 150ms ease;
}

.apus-whats:hover{
  color: var(--apus-sky);
  border-bottom-color: rgba(0,159,237,.55);
}

.apus-bullet{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: var(--apus-blue);
  margin-top: 7px;
  flex: 0 0 10px;
}

.apus-check{
  position: relative;
  padding-left: 22px;
}
.apus-check::before{
  content:"";
  position:absolute;
  left:0; top:6px;
  width:14px; height:14px;
  border-radius:4px;
  background: rgba(5,150,105,.12);
  border: 1px solid rgba(5,150,105,.35);
}
.apus-check::after{
  content:"";
  position:absolute;
  left:4px; top:10px;
  width:8px; height:4px;
  border-left: 2px solid var(--apus-success);
  border-bottom: 2px solid var(--apus-success);
  transform: rotate(-45deg);
}

.apus-x{
  width: 16px; height: 16px;
  border-radius: 999px;
  background: rgba(185,28,28,.10);
  border: 1px solid rgba(185,28,28,.30);
  position: relative;
  margin-top: 4px;
  flex: 0 0 16px;
}
.apus-x::before, .apus-x::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:9px; height:2px;
  background: rgba(185,28,28,.85);
  transform-origin: center;
}
.apus-x::before{ transform: translate(-50%,-50%) rotate(45deg); }
.apus-x::after{ transform: translate(-50%,-50%) rotate(-45deg); }

/* ===== FAQ ===== */
.apus-faq{
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:16px;
  box-shadow: 0 18px 38px rgba(15,23,42,.06);
  overflow:hidden;
}
.apus-faq summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-weight: 900;
  color:#0f172a;
}
.apus-faq summary::-webkit-details-marker{ display:none; }
.apus-faq-body{ padding: 0 18px 16px 18px; color:#475569; line-height:1.6; }
.apus-faq[open] summary{ background: linear-gradient(0deg, rgba(0,159,237,.06), rgba(0,159,237,.06)), #fff; }
.apus-faq-icon{
  width:34px; height:34px; border-radius:12px;
  background:#f1f5f9; border:1px solid #e2e8f0;
  position:relative; flex:0 0 34px;
}
.apus-faq-icon::before, .apus-faq-icon::after{
  content:""; position:absolute; top:50%; left:50%;
  width:14px; height:2px; background:#0f172a;
  transform: translate(-50%,-50%); border-radius:999px;
}
.apus-faq-icon::after{ transform: translate(-50%,-50%) rotate(90deg); }
.apus-faq[open] .apus-faq-icon{ background:#0b1220; border-color: rgba(255,255,255,.08); }
.apus-faq[open] .apus-faq-icon::before{ background:#fff; }
.apus-faq[open] .apus-faq-icon::after{ display:none; }

/* ===== Animations ===== */
.apus-fade{ opacity:0; transform: translateY(8px); }
.apus-fade.is-in{ opacity:1; transform: translateY(0); transition: 600ms ease; }

.apus-reveal{ opacity:0; transform: translateY(10px); transition: 700ms ease; }
.apus-reveal.is-in{ opacity:1; transform: translateY(0); }
