/* ====================================================================
   LEGAL.CSS — Premium editorial styling για τις 3 legal pages
   --------------------------------------------------------------------
   • Header με eyebrow + title + "last updated" pill
   • 2-col layout: sticky TOC (αριστερά) + article body (δεξιά)
   • Mobile: TOC γίνεται collapsible <details> στην κορυφή
   • Πλούσιο reading typography με Cormorant headings & Inter body
   • Cookies table = clean card-style με hover rows
   ==================================================================== */

/* ───── PAGE HEADER ───── */
.legal-header{
  background:linear-gradient(180deg,var(--lavender-mist) 0%,var(--ivory) 100%);
  padding:5.5rem 2rem 4rem;text-align:center;
  border-bottom:1px solid rgba(31,24,19,0.06);
  max-width:none;margin:0;position:relative;
}
.legal-header::before{content:none}
.legal-header::after{content:none}
.legal-header .page-header-content{
  max-width:760px;margin:0 auto;padding:0;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.legal-header .eyebrow{
  font-size:.65rem;letter-spacing:.45em;text-transform:uppercase;
  color:var(--gold-leaf);font-weight:500;margin-bottom:1.4rem;
}
.legal-header h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2.2rem,4.2vw,3.6rem);
  line-height:1.06;letter-spacing:-.02em;
  color:var(--aubergine);margin:0 0 1.4rem;
}
.legal-header h1 em{
  font-style:italic;font-weight:400;
  background:linear-gradient(135deg,var(--plum-deep) 0%,var(--gold-leaf) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.legal-header p{
  font-family:'Inter',sans-serif;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mauve-soft);margin:0;
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.55rem 1.1rem;
  border:1px solid rgba(192,133,122,0.28);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.4);
  backdrop-filter:blur(2px);
}
.legal-header p::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--gold-leaf);
  box-shadow:0 0 0 3px rgba(192,133,122,0.18);
}

/* ───── LAYOUT: TOC + ARTICLE ───── */
.legal-layout{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:240px 1fr;
  gap:5rem;padding:5rem 2rem 7rem;
  align-items:start;
}

/* ───── TABLE OF CONTENTS (sidebar) ───── */
.legal-toc{
  position:sticky;top:6rem;
  font-family:'Inter',sans-serif;
}
.legal-toc-title{
  font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold-leaf);font-weight:600;
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(31,24,19,0.1);
}
.legal-toc-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:.15rem;
}
.legal-toc-list a{
  display:flex;align-items:baseline;gap:.7rem;
  padding:.55rem .8rem .55rem .9rem;
  text-decoration:none;
  color:var(--mauve-soft);
  font-size:.82rem;line-height:1.4;
  border-left:2px solid transparent;
  transition:all .25s var(--ease-luxe);
  position:relative;
}
.legal-toc-list a .toc-num{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:.85rem;
  color:var(--gold-leaf);opacity:.6;
  flex-shrink:0;min-width:1.4rem;
}
.legal-toc-list a:hover{
  color:var(--aubergine);
  border-left-color:rgba(192,133,122,0.45);
}
.legal-toc-list a:hover .toc-num{opacity:1}
.legal-toc-list a.is-active{
  color:var(--aubergine);font-weight:500;
  border-left-color:var(--gold-leaf);
  background:linear-gradient(90deg,rgba(245,224,200,0.5) 0%,transparent 100%);
}
.legal-toc-list a.is-active .toc-num{opacity:1;color:var(--plum-deep)}

/* ───── ARTICLE BODY ───── */
/* Όταν η legal-body είναι standalone (όχι μέσα σε .legal-layout grid),
   χρειάζεται δικό της max-width + padding για να μη γεμίζει edge-to-edge. */
.legal-page .legal-body{
  max-width:820px;margin:0 auto;padding:4rem 2rem 5rem;
}
@media (max-width:640px){
  .legal-page .legal-body{padding:2.5rem 1.25rem 4rem}
}
.legal-body{
  max-width:none;margin:0;padding:0;
  font-family:'Inter',sans-serif;
  color:var(--ink-soft);line-height:1.78;font-size:.95rem;
}
.legal-body section{
  padding:0 0 3.2rem;
  margin-bottom:3rem;
  position:relative;
  scroll-margin-top:5rem;
}
.legal-body section:not(:last-child)::after{
  content:'';position:absolute;
  bottom:0;left:0;width:100%;height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(192,133,122,0.3) 30%,
    rgba(192,133,122,0.3) 70%,
    transparent 100%);
}
.legal-body section:not(:last-child)::before{
  content:'';position:absolute;
  bottom:-3px;left:50%;transform:translateX(-50%);
  width:6px;height:6px;
  background:var(--gold-leaf);border-radius:50%;
  box-shadow:0 0 0 4px var(--ivory);
}
.legal-body h2{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:1.7rem;color:var(--aubergine);
  margin:0 0 1.2rem;letter-spacing:-.005em;line-height:1.2;
  display:flex;align-items:baseline;gap:.8rem;
}
.legal-body h2 .h-num{
  font-style:italic;font-weight:400;
  font-size:1.1rem;color:var(--gold-leaf);
  min-width:1.8rem;flex-shrink:0;
}
.legal-body h3{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:1.2rem;color:var(--aubergine);
  margin:1.8rem 0 .6rem;letter-spacing:-.003em;
}
.legal-body p{margin:0 0 1.1rem}
.legal-body p:last-child{margin-bottom:0}
.legal-body em{font-style:italic;color:var(--plum-deep);font-weight:500}
.legal-body strong{color:var(--aubergine);font-weight:600}
.legal-body a{
  color:var(--gold-leaf);text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1px;background-repeat:no-repeat;
  background-position:0 100%;
  transition:background-size .35s var(--ease-luxe), color .25s;
  padding-bottom:1px;
}
.legal-body a:hover{
  color:var(--plum-deep);
  background-size:100% 1px;
}
.legal-body ul,.legal-body ol{
  padding-left:1.4rem;margin:.5rem 0 1.2rem;
}
.legal-body li{
  margin-bottom:.55rem;
  padding-left:.25rem;
}
.legal-body li::marker{color:var(--gold-leaf)}

/* Inline definition list (e.g. data categories with descriptions) */
.legal-body .legal-deflist{
  list-style:none;padding:0;margin:.6rem 0 1.4rem;
  display:flex;flex-direction:column;gap:.9rem;
}
.legal-body .legal-deflist li{
  padding:.85rem 1.1rem;
  background:rgba(245,224,200,0.25);
  border-left:2px solid var(--gold-leaf);
  margin:0;
}

/* ───── COOKIES TABLE ───── */
.legal-table{
  margin:1.2rem 0 .6rem;
  background:#fff;
  border:1px solid rgba(31,24,19,0.08);
  overflow:hidden;
  box-shadow:0 4px 12px -6px rgba(31,24,19,0.08);
}
.legal-row{
  display:grid;grid-template-columns:1.1fr 2.5fr 1fr;
  gap:1.2rem;
  padding:1rem 1.3rem;
  border-bottom:1px solid rgba(31,24,19,0.06);
  font-size:.88rem;line-height:1.55;
  transition:background .2s;
}
.legal-row:last-child{border-bottom:none}
.legal-row:not(.legal-row--head):hover{background:rgba(245,224,200,0.3)}
.legal-row--head{
  background:linear-gradient(180deg,var(--lavender-mist) 0%,rgba(245,224,200,0.4) 100%);
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--aubergine);font-weight:600;
  padding:.85rem 1.3rem;
}
.legal-row strong{color:var(--aubergine);font-weight:600}
.legal-row span:last-child{
  color:var(--mauve-soft);font-style:italic;
  font-family:'Cormorant Garamond',serif;font-size:.95rem;
}
.legal-row--head span:last-child{
  color:var(--aubergine);font-style:normal;
  font-family:'Inter',sans-serif;font-size:.7rem;
}

/* ───── COOKIE RESET BUTTON ───── */
.cookie-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--aubergine);color:var(--ivory);
  border:none;cursor:pointer;
  padding:.85rem 1.4rem;
  font-family:'Inter',sans-serif;
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;
  border-radius:var(--radius-pill);
  transition:all .3s var(--ease-luxe);
  box-shadow:0 4px 14px -4px rgba(31,24,19,0.25);
  margin:.5rem 0;
}
.cookie-btn:hover{
  background:var(--plum-deep);
  transform:translateY(-1px);
  box-shadow:0 8px 20px -6px rgba(154,88,79,0.4);
  letter-spacing:.26em;
}

/* ───── CONTACT FOOTER CARD (στο τέλος κάθε σελίδας) ───── */
.legal-footer-card{
  margin-top:4rem;
  padding:2.5rem 2rem;
  background:linear-gradient(180deg,rgba(245,224,200,0.4) 0%,rgba(251,238,226,0.6) 100%);
  border:1px solid rgba(192,133,122,0.2);
  text-align:center;
  font-family:'Cormorant Garamond',serif;
}
.legal-footer-card h3{
  font-size:1.5rem;color:var(--aubergine);
  font-weight:500;margin:0 0 .7rem;
}
.legal-footer-card h3 em{font-style:italic;color:var(--plum-deep)}
.legal-footer-card p{
  font-size:1rem;font-style:italic;
  color:var(--mauve-soft);margin:0 0 1.5rem;
}
.legal-footer-card a.legal-cta{
  display:inline-block;
  padding:.85rem 1.8rem;
  background:var(--aubergine);color:var(--ivory);
  font-family:'Inter',sans-serif;
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  font-weight:600;text-decoration:none;
  border-radius:var(--radius-pill);
  transition:all .3s var(--ease-luxe);
}
.legal-footer-card a.legal-cta:hover{
  background:var(--plum-deep);
  transform:translateY(-1px);
  box-shadow:0 8px 18px -6px rgba(154,88,79,0.35);
}

/* ───── MOBILE / TABLET ───── */
@media (max-width:960px){
  .legal-header{padding:4rem 1.5rem 3rem}
  .legal-layout{
    grid-template-columns:1fr;
    gap:0;padding:2rem 1.5rem 5rem;
  }
  .legal-toc{
    position:static;
    margin-bottom:2rem;
    background:#fff;
    border:1px solid rgba(31,24,19,0.08);
  }
  .legal-toc-title{
    cursor:pointer;
    padding:1rem 1.3rem;margin:0;border:none;
    border-bottom:1px solid rgba(31,24,19,0.08);
    display:flex;align-items:center;justify-content:space-between;
  }
  .legal-toc-title::after{
    content:'+';font-size:1.4rem;color:var(--gold-leaf);
    font-weight:300;line-height:1;
    transition:transform .3s var(--ease-luxe);
  }
  .legal-toc.is-open .legal-toc-title::after{transform:rotate(45deg)}
  .legal-toc-list{
    max-height:0;overflow:hidden;
    transition:max-height .35s var(--ease-luxe);
    padding:0;
  }
  .legal-toc.is-open .legal-toc-list{
    max-height:600px;padding:.5rem 0;
  }
  .legal-toc-list a{padding:.7rem 1.3rem;border-left:none;border-left-width:0}
  .legal-toc-list a.is-active{
    background:rgba(245,224,200,0.5);
    border-left:none;
  }
  .legal-body h2{font-size:1.45rem}
  .legal-body{font-size:.9rem}
  .legal-row{grid-template-columns:1fr;gap:.4rem;padding:1rem}
  .legal-row--head{display:none}
  .legal-row:not(.legal-row--head){
    border-bottom:1px solid rgba(31,24,19,0.1);
  }
  .legal-row span:first-child{
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--gold-leaf);font-weight:600;
  }
  .legal-row span:last-child{
    font-size:.85rem;font-style:normal;font-family:'Inter',sans-serif;
    color:var(--mauve-soft);
  }
}

@media (max-width:520px){
  .legal-header h1{font-size:1.9rem}
  .legal-header p{font-size:.68rem;padding:.45rem .9rem}
}
