/* Cookie consent banner — loaded only when analytics is enabled in
   data/firm.json. Uses the main.css palette tokens. Accept and Reject are
   deliberately styled identically (ICO guidance: rejecting must be as easy
   as accepting). */

.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:var(--navy-darker);color:rgba(255,255,255,0.85);
  border-top:2px solid var(--gold);
  box-shadow:0 -8px 24px rgba(13,24,37,0.25);
  max-height:85vh;overflow-y:auto;
}
.cookie-banner[hidden]{display:none;}
.cookie-banner__inner{
  max-width:var(--max);margin:0 auto;padding:1.2rem 5%;
  display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:center;
}
.cookie-banner__title{
  font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--white);
  margin:0 0 0.4rem;letter-spacing:0;
}
.cookie-banner p{margin:0;font-size:0.88rem;line-height:1.6;}
.cookie-banner a{color:var(--gold-light);}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:0.6rem;}
.cookie-banner .btn{min-height:44px;}
.cookie-banner .btn:focus-visible,
.cookie-preferences__toggle:focus-visible,
.link-button:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px;}

.cookie-preferences{grid-column:1/-1;border-top:1px solid rgba(255,255,255,0.12);padding-top:1rem;}
.cookie-preferences[hidden]{display:none;}
.cookie-preferences__row{
  display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;
  padding:0.8rem 0;border-bottom:1px solid rgba(255,255,255,0.08);
}
.cookie-preferences__row p{color:rgba(255,255,255,0.7);}
.cookie-preferences__name{display:block;font-weight:600;color:var(--white);margin-bottom:0.2rem;font-size:0.92rem;}
.cookie-preferences__fixed{font-size:0.8rem;color:var(--gold-light);white-space:nowrap;}
.cookie-preferences__toggle{width:22px;height:22px;flex-shrink:0;accent-color:var(--gold);margin-top:0.2rem;}
.cookie-preferences .btn{margin-top:1rem;}

/* Footer "Cookie settings" control — a button styled to sit with the legal links. */
.link-button{
  background:none;border:0;padding:0;font:inherit;color:rgba(255,255,255,0.6);
  text-decoration:underline;cursor:pointer;
}
.link-button:hover{color:var(--gold-light);}

@media (max-width:760px){
  .cookie-banner__inner{grid-template-columns:1fr;}
  .cookie-banner__actions .btn{flex:1 1 100%;text-align:center;}
}

/* Cookie Policy page */
.link-button--inline{color:var(--navy);font-weight:600;}
.link-button--inline:hover{color:var(--gold-deep);}
.table-scroll{overflow-x:auto;max-width:900px;margin:1rem 0 1.4rem;}
.cookie-table{border-collapse:collapse;width:100%;min-width:620px;font-size:0.9rem;}
.cookie-table th,.cookie-table td{border-bottom:1px solid var(--border);padding:0.7rem 0.8rem;text-align:left;vertical-align:top;}
.cookie-table th{color:var(--navy);font-weight:600;background:var(--cream);}
.cookie-table code{font-size:0.85rem;}
