/* =========================================================
   ThePhoneHub — cookie consent banner
   Injected by assets/consent.js. Static asset: the page build does not
   regenerate it. Buttons reuse the .btn classes from styles.css.
   ========================================================= */
/* The resting state is visible and the entrance is a decorative animation, so
   the banner can never get stuck invisible if the animation does not run. */
.consent{
  position:fixed;left:0;right:0;bottom:0;z-index:1200;
  padding:0 24px 24px;
  animation:consent-in .22s ease;
}
.consent.is-closing{
  opacity:0;transform:translateY(16px);
  transition:opacity .2s ease,transform .2s ease;
}
@keyframes consent-in{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}

.consent__inner{
  display:flex;align-items:center;gap:28px;
  width:100%;max-width:var(--maxw);margin:0 auto;
  padding:20px 24px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
}

.consent__text strong{
  display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:4px;
}
.consent__text p{color:var(--body);font-size:14px;line-height:1.5}
.consent__text a{color:var(--blue);font-weight:600;text-decoration:underline}

.consent__actions{display:flex;gap:10px;flex-shrink:0;margin-left:auto}
.consent__actions .btn{padding:12px 22px}

@media (max-width:720px){
  .consent{padding:0 16px 16px}
  .consent__inner{flex-direction:column;align-items:stretch;gap:16px;padding:18px}
  .consent__actions{margin-left:0}
  .consent__actions .btn{flex:1}
}

@media (prefers-reduced-motion:reduce){
  .consent{animation:none}
  .consent.is-closing{transition:none}
}
