/* =========================================================
   LEGAL PAGES (Impressum / Datenschutz / Terms / Refund)
   ========================================================= */

   .legal-hero{
    position: relative;
    padding-top: 84px; /* space for fixed topbar */
    padding-bottom: 26px;
    overflow: hidden;
    isolation: isolate;
  }
  
  .legal-hero::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(circle at 18% 22%, rgba(64,185,235,.07), transparent 55%),
      radial-gradient(circle at 82% 18%, rgba(216,245,255,.05), transparent 60%),
      radial-gradient(circle at 50% 115%, rgba(255,255,255,.03), transparent 65%),
      linear-gradient(to bottom, rgba(7,6,7,.75), rgba(7,6,7,1));
    z-index: 0;
  }
  
  .legal-hero__inner{
    position: relative;
    z-index: 1;
    padding: 34px 0 16px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
  }
  
  .legal-kicker{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .34em;
    color: rgba(255,255,255,.55);
  }
  
  .legal-title{
    margin-top: 10px;
    font-size: 44px;
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: .01em;
    color: rgba(255,255,255,.92);
  }
  
  .legal-sub{
    margin-top: 12px;
    max-width: 78ch;
    color: rgba(255,255,255,.70);
    line-height: 1.75;
    font-size: 15px;
  }
  
  .legal-badges{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  
  .legal-badge{
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.70);
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(64,185,235,.18);
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(10px);
  }
  
  /* Card */
  .legal-card{
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: 34px;
    border: 1px solid rgba(64,185,235,.09);
    background: rgba(255,255,255,.008);
    box-shadow:
      0 22px 70px rgba(0,0,0,.62),
      inset 0 1px 0 rgba(255,255,255,.04);
  }
  
  .legal-card__bg{
    position: absolute;
    inset: -2px;
    pointer-events: none;
    background:
      radial-gradient(circle at 18% 22%, rgba(64,185,235,.10), transparent 58%),
      radial-gradient(circle at 82% 28%, rgba(216,245,255,.06), transparent 65%),
      radial-gradient(circle at 55% 120%, rgba(255,255,255,.03), transparent 70%);
    opacity: .48;
    filter: blur(10px);
    transform: scale(1.05);
  }
  
  .legal-card__content{
    position: relative;
    z-index: 1;
  }
  
  /* Sections */
  .legal-section{
    display: grid;
    gap: 10px;
  }
  
  .legal-section__title{
    font-size: 26px;
    line-height: 1.08;
    font-weight: 500;
    color: rgba(255,255,255,.92);
  }
  
  .legal-text{
    color: rgba(255,255,255,.70);
    line-height: 1.8;
    font-size: 15px;
  }
  
  .legal-grid{
    display: grid;
    gap: 12px;
    margin-top: 4px;
  }
  
  .legal-row{
    display: grid;
    gap: 6px;
    padding: 14px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  
  .legal-label{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .28em;
    color: rgba(255,255,255,.52);
  }
  
  .legal-value{
    color: rgba(255,255,255,.82);
    font-size: 14px;
    line-height: 1.7;
  }
  
  .legal-divider{
    margin: 22px 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
  }
  
  .legal-link{
    color: rgba(216,245,255,.88);
    border-bottom: 1px solid rgba(64,185,235,.24);
    padding-bottom: 1px;
    transition: color .2s ease, border-color .2s ease;
  }
  .legal-link:hover{
    color: rgba(216,245,255,.96);
    border-color: rgba(64,185,235,.46);
  }
  
  .legal-footnote{
    margin-top: 18px;
    font-size: 12px;
    color: rgba(255,255,255,.46);
  }
  
  /* Responsive */
  @media (max-width: 640px){
    .legal-hero__inner{
      padding: 26px 0 10px;
      flex-direction: column;
      align-items: flex-start;
    }
    .legal-title{ font-size: 38px; }
    .legal-card{
      padding: 26px 24px;
      border-radius: 22px;
    }
    .legal-section__title{ font-size: 22px; }
  }
  
  
  /* Mobile: Wishlist in der Topbar hart ausblenden (falls Tailwind/hidden mal nicht greift) */
  @media (max-width: 767px){
    header.topbar a[href*="wishlist"]{
      display: none !important;
    }
  }