/* ============================================================
   COOKIE BANNER — matches the landing palette
   ============================================================ */

.tbm-consent{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:#fff;border-top:1px solid var(--line,#e2ebe6);
  box-shadow:0 -10px 40px rgba(13,70,48,.14);
  /* no fill-mode: if the animation never runs the banner still shows */
  animation:tbm-consent-in .35s ease-out;
}
.tbm-consent.is-hidden{opacity:0;transform:translateY(12px);transition:opacity .28s,transform .28s}

@keyframes tbm-consent-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.tbm-consent-inner{
  max-width:1080px;margin:0 auto;padding:20px 24px;
  display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.tbm-consent-text{flex:1;min-width:260px}
.tbm-consent-text strong{display:block;font-size:1.02rem;color:var(--ink,#16241d);margin-bottom:4px}
.tbm-consent-text p{
  margin:0;font-size:.92rem;line-height:1.5;color:var(--muted,#5b6b62);max-width:620px;
}
.tbm-consent-links{margin-top:8px !important;font-size:.85rem !important}
.tbm-consent-links a{color:var(--green,#125c3f);font-weight:600}

.tbm-consent-prefs{display:grid;gap:10px;margin:14px 0 4px}
/* a class rule beats the UA stylesheet for [hidden], so restate it */
.tbm-consent-prefs[hidden]{display:none}
.tbm-consent-prefs label{
  display:flex;gap:10px;align-items:flex-start;
  font-size:.9rem;color:var(--muted,#5b6b62);line-height:1.45;cursor:pointer;
}
.tbm-consent-prefs input{margin-top:4px;width:17px;height:17px;accent-color:var(--green,#125c3f);flex-shrink:0}
.tbm-consent-prefs b{color:var(--ink,#16241d)}
.tbm-consent-prefs input:disabled{opacity:.6;cursor:default}

.tbm-consent-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tbm-btn{
  font-family:inherit;font-size:.95rem;font-weight:700;
  padding:13px 22px;border-radius:10px;border:none;cursor:pointer;
  transition:transform .12s,box-shadow .12s,background .12s;white-space:nowrap;
}
.tbm-btn:hover{transform:translateY(-1px)}
.tbm-btn-accept{background:var(--gold,#c8992e);color:#1c1405;box-shadow:0 6px 18px rgba(200,153,46,.3)}
.tbm-btn-save{background:var(--green,#125c3f);color:#fff}
.tbm-btn-reject{background:var(--soft,#f2f7f4);color:var(--ink,#16241d);border:1px solid var(--line,#e2ebe6)}
.tbm-btn-link{background:transparent;color:var(--muted,#5b6b62);text-decoration:underline;padding:13px 8px}

@media(max-width:760px){
  .tbm-consent-inner{padding:18px 20px;gap:16px}
  .tbm-consent-actions{width:100%}
  .tbm-consent-actions .tbm-btn-accept,
  .tbm-consent-actions .tbm-btn-reject,
  .tbm-consent-actions .tbm-btn-save{flex:1;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .tbm-consent{animation:none}
}
