/* Shared styling for JLDigital legal pages (privacy, cookies) */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#fafaf8;color:#111;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}

/* TOP BAR */
.legal-top{
  position:sticky;top:0;z-index:50;background:rgba(250,250,248,.85);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(17,17,17,.06);
}
.legal-top-inner{
  max-width:1180px;margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.legal-brand{
  font-family:'Playfair Display',Georgia,serif;
  font-size:22px;font-weight:600;letter-spacing:-.01em;
}
.logo{display:inline-flex;align-items:center}
.logo img{height:114px;width:auto;display:block}
.legal-back{
  font-size:13px;font-weight:500;color:#555;
  display:inline-flex;align-items:center;gap:8px;
  transition:color .2s;
}
.legal-back:hover{color:#111}
.legal-back::before{content:"←";font-size:15px}

/* LANG TOGGLE */
.legal-top-actions{display:flex;align-items:center;gap:18px}
.lang-toggle{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;letter-spacing:.08em;color:#666}
.lang-toggle button{background:none;border:none;cursor:pointer;color:#999;padding:4px 6px;font:inherit;transition:color .2s}
.lang-toggle button.active{color:#0a0a0a}
.lang-toggle button:hover{color:#0a0a0a}

/* HERO */
.legal-hero{
  max-width:980px;margin:0 auto;padding:90px 32px 56px;
}
.legal-eyebrow{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:#777;font-weight:500;margin-bottom:20px;
}
.legal-eyebrow::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#111;margin-right:10px;vertical-align:middle;
}
.legal-hero h1{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(44px,6vw,76px);font-weight:500;line-height:1.05;
  letter-spacing:-.02em;margin-bottom:24px;
}
.legal-hero .meta{font-size:14px;color:#777}
.legal-hero .meta span{margin-right:18px}

/* CONTENT */
.legal-wrap{
  max-width:780px;margin:0 auto;padding:40px 32px 120px;
}
.legal-wrap section{
  padding:48px 0;border-top:1px solid rgba(17,17,17,.08);
}
.legal-wrap section:first-of-type{border-top:none;padding-top:24px}
.legal-wrap h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.01em;
  margin-bottom:20px;line-height:1.2;
}
.legal-wrap h3{
  font-family:'Inter',sans-serif;font-size:16px;font-weight:600;
  letter-spacing:-.005em;margin:28px 0 12px;
}
.legal-wrap p{font-size:16px;color:#333;margin-bottom:16px}
.legal-wrap ul{margin:8px 0 20px 22px}
.legal-wrap li{font-size:16px;color:#333;margin-bottom:8px;padding-left:6px}
.legal-wrap li strong{color:#111;font-weight:600}
.legal-wrap a:not(.legal-back){color:#111;border-bottom:1px solid rgba(17,17,17,.25);transition:border-color .2s}
.legal-wrap a:not(.legal-back):hover{border-color:#111}

/* CALL OUT BLOCK */
.legal-callout{
  background:#fff;border:1px solid rgba(17,17,17,.08);
  padding:28px 32px;border-radius:14px;margin:24px 0;
}
.legal-callout p{margin-bottom:6px}
.legal-callout p:last-child{margin-bottom:0}

/* COOKIE TABLES */
.cookie-table-wrap{
  margin:18px 0 28px;border:1px solid rgba(17,17,17,.08);
  border-radius:12px;background:#fff;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.cookie-table{
  width:100%;min-width:560px;border-collapse:collapse;font-size:14px;
}
.cookie-table thead th{
  text-align:left;font-weight:600;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:#777;padding:14px 18px;
  background:#fafaf8;border-bottom:1px solid rgba(17,17,17,.08);
}
.cookie-table tbody td{
  padding:16px 18px;border-bottom:1px solid rgba(17,17,17,.05);
  vertical-align:top;color:#333;
}
.cookie-table tbody tr:last-child td{border-bottom:none}
.cookie-table td:first-child{font-weight:600;color:#111;white-space:nowrap}
.cookie-table td:nth-child(2){white-space:nowrap;color:#555;font-size:13px}

/* CONSENT BUTTON */
.revisit-consent{
  display:inline-flex;align-items:center;gap:10px;
  background:#111;color:#fff;padding:14px 22px;border-radius:999px;
  font-size:14px;font-weight:500;border:none;cursor:pointer;
  transition:transform .2s,background .2s;
}
.revisit-consent:hover{background:#000;transform:translateY(-1px)}

/* CONTACT FOOTER BLOCK */
.legal-end{
  margin-top:48px;padding:36px 32px;background:#0a0a0a;color:#aaa;
  border-radius:16px;
}
.legal-end strong{display:block;color:#fff;font-size:18px;margin-bottom:10px;letter-spacing:.01em}
.legal-end p{font-size:14px;color:#aaa;margin-bottom:4px}

/* SITE FOOTER (minimal) */
.legal-footer{
  background:#0a0a0a;color:#888;padding:48px 32px;text-align:center;
  font-size:13px;border-top:1px solid rgba(17,17,17,.06);
}
.legal-footer a{color:#aaa;margin:0 12px;transition:color .2s}
.legal-footer a:hover{color:#fff}
.legal-footer .copy{display:block;margin-top:18px;font-size:12px;color:#555}

@media(max-width:640px){
  .legal-top-inner{padding:14px 20px}
  .legal-hero{padding:60px 22px 40px}
  .legal-wrap{padding:20px 22px 80px}
  .legal-wrap section{padding:36px 0}
  .legal-callout{padding:22px 22px}
  .legal-end{padding:28px 22px}
  .logo img{height:72px}
}