/* ================================================================
   Monte Sano Industries — Legal Pages
   Shared styles for Privacy, Terms, Cookies
   ================================================================ */

.legal-page{
  padding:calc(var(--topbar-h) + 4rem) var(--pad-x) 3rem;
  max-width:720px;
  margin:0 auto;
}

.legal-header{
  padding-bottom:2rem;
  margin-bottom:2.5rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.legal-tag{
  display:inline-block;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.75rem;
}

.legal-title{
  font-family:var(--sans);
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:200;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--white);
  line-height:1.1;
  margin-bottom:.5rem;
}

.legal-effective{
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--dim);
  letter-spacing:.06em;
}

.legal-body{
  color:var(--cream);
  font-size:.92rem;
  line-height:1.75;
}

.legal-section{
  margin-bottom:2.5rem;
}

.legal-section h2{
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--white);
  margin-bottom:.75rem;
  padding-bottom:.5rem;
  border-bottom:1px solid rgba(255,255,255,.04);
}

.legal-section p{
  margin-bottom:.85rem;
  font-weight:300;
  color:var(--cream);
  opacity:.85;
}

.legal-section ul{
  list-style:none;
  padding:0;
  margin:0 0 1rem 0;
}

.legal-section ul li{
  position:relative;
  padding-left:1.25rem;
  margin-bottom:.45rem;
  font-size:.88rem;
  font-weight:300;
  color:var(--cream);
  opacity:.85;
}

.legal-section ul li::before{
  content:'—';
  position:absolute;
  left:0;
  color:var(--dim);
}

.legal-section a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(110,142,255,.2);
  transition:color .3s,border-color .3s;
}
.legal-section a:hover{
  color:var(--white);
  border-color:var(--white);
}

.legal-back{
  display:inline-block;
  margin:2rem 0 3rem;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
  transition:color .3s;
}
.legal-back:hover{color:var(--white)}


/* ── COOKIE TABLE ─────────────────────────────────────────────── */
.cookie-table-wrap{
  overflow-x:auto;
  margin:1rem 0;
  border:1px solid rgba(255,255,255,.06);
  border-radius:6px;
}

.cookie-table{
  width:100%;
  border-collapse:collapse;
  font-family:var(--mono);
  font-size:.72rem;
}

.cookie-table th{
  text-align:left;
  padding:.65rem .8rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--stone);
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.cookie-table td{
  padding:.55rem .8rem;
  color:var(--cream);
  border-bottom:1px solid rgba(255,255,255,.03);
  font-weight:300;
}

.cookie-table code{
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--accent);
  background:rgba(110,142,255,.08);
  padding:.12rem .35rem;
  border-radius:3px;
}


/* ══════════════════════════════════════════════════════════════════
   COOKIE CONSENT BANNER
   ══════════════════════════════════════════════════════════════════ */
.cookie-banner{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:9000;
  background:rgba(10,10,14,.96);
  backdrop-filter:blur(20px) saturate(1.4);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
  border-top:1px solid rgba(255,255,255,.06);
  padding:1.25rem var(--pad-x);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  transform:translateY(100%);
  opacity:0;
  transition:transform .5s var(--ease-out),opacity .4s var(--ease);
}
.cookie-banner.is-visible{
  transform:translateY(0);
  opacity:1;
}

.cookie-banner-text{
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:300;
  color:var(--cream);
  line-height:1.7;
  max-width:600px;
}
.cookie-banner-text a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(110,142,255,.2);
}
.cookie-banner-text a:hover{
  color:var(--white);
  border-color:var(--white);
}

.cookie-banner-actions{
  display:flex;
  gap:.5rem;
  flex-shrink:0;
}

.cookie-btn{
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.5rem 1.1rem;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.1);
  background:transparent;
  color:var(--stone);
  cursor:pointer;
  transition:color .3s,background .3s,border-color .3s;
}
.cookie-btn:hover{
  color:var(--white);
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.04);
}
.cookie-btn--accept{
  color:var(--white);
  background:var(--accent);
  border-color:var(--accent);
}
.cookie-btn--accept:hover{
  background:#5a7aee;
  border-color:#5a7aee;
}

@media(max-width:640px){
  .cookie-banner{
    flex-direction:column;
    align-items:stretch;
    gap:1rem;
    padding:1rem 1.25rem;
  }
  .cookie-banner-actions{
    justify-content:flex-end;
  }
}


/* ══════════════════════════════════════════════════════════════════
   ERROR PAGES — 404 / 500
   ══════════════════════════════════════════════════════════════════ */
.error-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(var(--topbar-h) + 2rem) var(--pad-x) 2rem;
  text-align:center;
}

.error-inner{
  max-width:500px;
}

.error-code{
  font-family:var(--mono);
  font-size:clamp(4rem,12vw,8rem);
  font-weight:200;
  letter-spacing:.1em;
  color:var(--white);
  opacity:.12;
  line-height:1;
  margin-bottom:.5rem;
}

.error-title{
  font-family:var(--sans);
  font-size:clamp(1.2rem,3vw,1.6rem);
  font-weight:300;
  letter-spacing:.06em;
  color:var(--white);
  margin-bottom:.75rem;
}

.error-desc{
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:300;
  color:var(--stone);
  line-height:1.7;
  margin-bottom:2rem;
}

.error-rule{
  width:40px;
  height:1px;
  background:var(--accent);
  opacity:.3;
  margin:1.5rem auto;
}

.error-link{
  display:inline-block;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  padding:.55rem 1.5rem;
  border:1px solid rgba(110,142,255,.25);
  border-radius:4px;
  transition:color .3s,background .3s,border-color .3s;
}
.error-link:hover{
  color:var(--white);
  background:rgba(110,142,255,.1);
  border-color:var(--accent);
}

.error-nav{
  margin-top:1.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.25rem;
}

.error-nav-link{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:400;
  letter-spacing:.06em;
  color:var(--dim);
  transition:color .3s;
}
.error-nav-link:hover{color:var(--stone)}


/* ══════════════════════════════════════════════════════════════════
   DISCOVER PAGE
   ══════════════════════════════════════════════════════════════════ */
.discover-page{
  padding:calc(var(--topbar-h) + 4rem) var(--pad-x) 4rem;
  max-width:800px;
  margin:0 auto;
}

.discover-hero{
  margin-bottom:4rem;
}

.discover-tag{
  display:inline-block;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.75rem;
}

.discover-title{
  font-family:var(--sans);
  font-size:clamp(2rem,5vw,3.2rem);
  font-weight:200;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--white);
  line-height:1.05;
  margin-bottom:1rem;
}

.discover-subtitle{
  font-family:var(--mono);
  font-size:.82rem;
  font-weight:300;
  color:var(--stone);
  line-height:1.8;
  max-width:560px;
}

.discover-rule{
  width:50px;
  height:1px;
  background:var(--accent);
  opacity:.3;
  margin:2.5rem 0;
}

/* Discover sections */
.discover-block{
  margin-bottom:3.5rem;
}

.discover-block-tag{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  opacity:.7;
  margin-bottom:.5rem;
}

.discover-block-title{
  font-family:var(--sans);
  font-size:clamp(1.1rem,2vw,1.4rem);
  font-weight:400;
  letter-spacing:.03em;
  color:var(--white);
  margin-bottom:.75rem;
}

.discover-block p{
  font-size:.92rem;
  font-weight:300;
  color:var(--cream);
  line-height:1.8;
  opacity:.85;
  margin-bottom:.75rem;
}

.discover-block p:last-child{margin-bottom:0}

/* Stats grid */
.discover-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1rem;
  margin:2rem 0;
}

.discover-stat{
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.04);
  border-radius:6px;
  background:rgba(255,255,255,.02);
}

.discover-stat-num{
  font-family:var(--mono);
  font-size:1.6rem;
  font-weight:300;
  color:var(--white);
  line-height:1;
  margin-bottom:.35rem;
}

.discover-stat-label{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--dim);
}

/* Principles list */
.discover-principles{
  list-style:none;
  padding:0;
  margin:1.25rem 0 0;
}

.discover-principles li{
  position:relative;
  padding:.75rem 0 .75rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,.04);
  font-size:.88rem;
  font-weight:300;
  color:var(--cream);
  opacity:.85;
}

.discover-principles li:last-child{border-bottom:none}

.discover-principles li::before{
  content:'';
  position:absolute;
  left:0;
  top:1.05rem;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--accent);
  opacity:.5;
}

@media(max-width:480px){
  .discover-stats{grid-template-columns:1fr 1fr}
}
