/* ══════════════════════════════════════════════════════════════════
   Booking Leak Audit — tool-specific styles
   Loaded after design-v2.css, reuses its tokens.
   ══════════════════════════════════════════════════════════════════ */

.aud-wrap{ max-width:640px; margin:0 auto; }
.aud-card{
  background:var(--paper); border:1px solid var(--hair); border-radius:var(--r-lg);
  box-shadow:var(--sh-md); padding:clamp(28px,5vw,52px);
}
.aud-progress{
  display:flex; align-items:center; gap:10px; margin-bottom:8px;
  font-size:12px; font-weight:600; color:var(--ink3); letter-spacing:.02em; text-transform:uppercase;
}
.aud-bar{ height:4px; background:var(--hair); border-radius:99px; overflow:hidden; margin-bottom:34px; }
.aud-bar i{
  display:block; height:100%; border-radius:99px;
  background:linear-gradient(96deg,#D01414 0%,#E4572E 45%,#0E7C66 100%);
  transition:width .4s cubic-bezier(.2,.7,.3,1);
}
.aud-q{ font-family:var(--f-display); font-size:clamp(21px,2.6vw,28px); font-weight:600; letter-spacing:-.02em; line-height:1.25; margin-bottom:22px; }
.aud-sub{ color:var(--ink3); font-size:15px; margin:-14px 0 22px; }

.aud-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media(max-width:520px){ .aud-grid{ grid-template-columns:1fr; } }
.aud-opt{
  display:block; width:100%; text-align:left; cursor:pointer;
  background:var(--paper); border:1px solid var(--hair); border-radius:12px;
  padding:15px 18px; font-size:15px; font-weight:500; color:var(--ink);
  transition:border-color .2s, background .2s, transform .15s;
}
.aud-opt:hover{ border-color:var(--ink); transform:translateY(-1px); }
.aud-opt.sel{
  border-color:transparent; color:#fff;
  background:linear-gradient(96deg,#D01414 0%,#E4572E 45%,#0E7C66 100%);
}

.aud-field{ margin-bottom:20px; }
.aud-field label{ display:block; font-size:13px; font-weight:600; color:var(--ink3); margin-bottom:8px; }
.aud-field .inp-row{ display:flex; align-items:center; border:1px solid var(--hair); border-radius:10px; overflow:hidden; }
.aud-field .inp-row span{ padding:14px 14px; background:var(--cream); color:var(--ink3); font-size:14px; font-weight:600; border-right:1px solid var(--hair); }
.aud-field input{
  flex:1; border:none; padding:14px 16px; font-size:16px; font-family:var(--f);
  background:transparent; color:var(--ink); outline:none; min-width:0;
}
.aud-field input:focus{ background:var(--cream); }
.aud-live{
  margin-top:18px; padding:14px 18px; border-radius:10px; background:var(--cream);
  font-size:14px; color:var(--ink2);
}
.aud-live b{ font-family:var(--f-display); font-weight:600; }

.aud-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:28px; }
.aud-back{ background:none; border:none; color:var(--ink3); font-size:14px; font-weight:600; cursor:pointer; padding:8px; }
.aud-back:hover{ color:var(--ink); }
.aud-continue{
  height:50px; padding:0 30px; border-radius:999px; border:none; cursor:pointer;
  background:var(--ink); color:#fff; font-weight:600; font-size:15px;
  transition:transform .2s, box-shadow .2s;
}
.aud-continue:hover{ transform:translateY(-2px); box-shadow:var(--sh-md); }
.aud-continue:disabled{ opacity:.35; cursor:not-allowed; transform:none; box-shadow:none; }

/* score reveal */
.aud-score-ring{ display:flex; flex-direction:column; align-items:center; margin-bottom:8px; }
.aud-score-num{ font-family:var(--f-display); font-size:clamp(56px,9vw,84px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.aud-score-lbl{ color:var(--ink3); font-size:14px; margin-top:6px; }
.aud-leak-flag{
  text-align:center; margin:22px 0 26px; padding:16px 20px; border-radius:12px;
  background:linear-gradient(180deg,#FBFAF9,var(--cream)); border:1px solid var(--hair);
}
.aud-leak-flag .k{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink3); }
.aud-leak-flag .v{ font-family:var(--f-display); font-size:22px; font-weight:600; margin-top:4px; }

.aud-catlist{ display:flex; flex-direction:column; gap:14px; margin:22px 0; }
.aud-cat{ }
.aud-cat .row{ display:flex; justify-content:space-between; font-size:14px; font-weight:600; margin-bottom:6px; }
.aud-cat .row span:last-child{ color:var(--ink3); font-weight:700; }
.aud-cat .track{ height:8px; background:var(--hair); border-radius:99px; overflow:hidden; }
.aud-cat .track i{ display:block; height:100%; border-radius:99px; transition:width .6s cubic-bezier(.2,.7,.3,1); }
.aud-cat.low .track i{ background:#D01414; }
.aud-cat.mid .track i{ background:#E4572E; }
.aud-cat.high .track i{ background:#0E7C66; }

/* gated blur */
.aud-gate{ position:relative; }
.aud-gate .blurred{ filter:blur(7px); pointer-events:none; user-select:none; }
.aud-gate-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; padding:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.94) 40%);
}

/* recommendations */
.aud-rec{ display:flex; gap:16px; padding:18px 0; border-top:1px solid var(--hair); }
.aud-rec:first-child{ border-top:none; padding-top:4px; }
.aud-rec .no{ font-family:var(--f-display); font-size:20px; font-weight:600; color:var(--ink4); flex:none; width:32px; }
.aud-rec h4{ font-size:16px; margin-bottom:4px; }
.aud-rec p{ font-size:14.5px; color:var(--ink3); line-height:1.55; margin:0; }

/* opportunity + bridge */
.aud-opp{
  text-align:center; padding:28px 22px; border-radius:14px; margin:26px 0;
  background:linear-gradient(165deg,#16191F,#0F1115); color:#fff;
}
.aud-opp .k{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.aud-opp .v{ font-family:var(--f-display); font-size:clamp(30px,4.5vw,42px); font-weight:600; margin:8px 0; }
.aud-opp .note{ font-size:12.5px; color:rgba(255,255,255,.5); max-width:44ch; margin:0 auto; }

.aud-bridge{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:24px 0; font-size:13px; font-weight:600; }
.aud-bridge span{ background:var(--cream); border:1px solid var(--hair); border-radius:999px; padding:8px 14px; }
.aud-bridge em{ color:var(--ink4); font-style:normal; }

.aud-err{ color:#D01414; font-size:13px; margin-top:8px; display:none; }
.aud-err.show{ display:block; }
.aud-sending{ opacity:.6; pointer-events:none; }
