/* Terms and Privacy. Long-form reading, so a narrow measure and generous
   leading matter more than anything decorative. */

.v4 .legalpage{padding:clamp(30px,4vw,52px) 0 clamp(60px,8vw,110px);background:var(--paper);}
.v4 .lp-in{max-width:760px;margin:0 auto;padding:0 24px;}

.v4 .legalpage h1{font-family:var(--display);font-size:clamp(32px,5vw,52px);line-height:1.08;
  color:var(--ink);margin:14px 0 10px;}
.v4 .lp-updated{font-family:var(--text);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-dp);margin-bottom:26px;}
.v4 .lp-intro{font-size:17px;line-height:1.7;color:var(--ink);
  padding-bottom:clamp(22px,3vw,34px);border-bottom:1px solid var(--rule);}

.v4 .lp-s{padding-top:clamp(26px,3.4vw,40px);}
.v4 .lp-s h2{font-family:var(--display);font-size:clamp(21px,2.6vw,27px);line-height:1.25;
  color:var(--ink);margin-bottom:12px;display:flex;gap:11px;align-items:baseline;}
.v4 .lp-s h2 span{font-family:var(--text);font-size:12px;font-weight:700;
  color:var(--gold-dp);flex:0 0 auto;}
.v4 .lp-s p{font-size:15.5px;line-height:1.75;color:var(--body);margin-bottom:13px;}
.v4 .lp-s p:last-child{margin-bottom:0;}
.v4 .lp-s b{color:var(--ink);font-weight:600;}
.v4 .lp-s a{color:var(--ink);border-bottom:1px solid var(--gold);}
.v4 .lp-s a:hover{color:var(--gold-dp);border-bottom-color:var(--gold-dp);}
.v4 .lp-s ul{margin:0 0 13px;padding-left:20px;}
.v4 .lp-s li{font-size:15.5px;line-height:1.7;color:var(--body);margin-bottom:7px;}

/* who the trader is: consumer law wants this findable, not buried in prose */
.v4 .lp-contact dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;
  margin-top:14px;padding:clamp(18px,2.4vw,24px);background:var(--paper-2);
  border:1px solid var(--rule);font-size:15px;}
.v4 .lp-contact dt{font-family:var(--text);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--body);padding-top:3px;}
.v4 .lp-contact dd{color:var(--ink);line-height:1.55;}
@media(max-width:560px){
  .v4 .lp-contact dl{grid-template-columns:1fr;gap:3px;}
  .v4 .lp-contact dd{margin-bottom:11px;}
}

/* ---- cookie banner -------------------------------------------------------
   Deliberately a compact strip. Google asks that consent banners do not eat
   the screen, and on a phone a full-height modal is the difference between
   someone reading the site and someone leaving. */
.tbc-cc{position:fixed;left:0;right:0;bottom:0;z-index:10000;
  background:var(--ink);color:rgba(255,255,255,.86);
  border-top:2px solid var(--gold);
  transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);}
.tbc-cc.in{transform:translateY(0);}
.tbc-cc.out{transform:translateY(100%);}
.tbc-cc-in{max-width:1180px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.tbc-cc p{flex:1;min-width:240px;margin:0;font-family:var(--text);
  font-size:13.5px;line-height:1.55;}
.tbc-cc a{color:var(--gold);border-bottom:1px solid rgba(197,168,128,.5);}
.tbc-cc a:hover{border-bottom-color:var(--gold);}
.tbc-cc-btns{display:flex;gap:10px;flex:0 0 auto;}
.tbc-cc button{font-family:var(--text);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  padding:12px 22px;min-height:44px;border:1px solid;border-radius:0;
  transition:background .22s ease,color .22s ease,border-color .22s ease;}
.tbc-cc-no{background:transparent;color:rgba(255,255,255,.86);border-color:rgba(255,255,255,.35);}
.tbc-cc-no:hover{border-color:#fff;color:#fff;}
.tbc-cc-yes{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.tbc-cc-yes:hover{background:#fff;border-color:#fff;}
@media(max-width:620px){
  .tbc-cc-in{padding:12px 16px;gap:12px;}
  .tbc-cc p{font-size:12.5px;min-width:0;}
  .tbc-cc-btns{width:100%;}
  .tbc-cc-btns button{flex:1;padding:12px 8px;}
}
/* the floating cart button must not sit under the banner */
.tbc-cc.in ~ .cart-fab{bottom:calc(24px + 84px);}
