/* Royal Comfort Ride legal pages
   Single source of truth for privacy, terms and cookie pages across languages. */

#rcrV2.legalPage{
  --legal-bg:#05080f;
  --legal-panel:#070b14;
  --legal-panel-2:#050505;
  --legal-gold:#FFD700;
  --legal-text:rgba(245,247,252,.96);
  --legal-muted:rgba(205,213,228,.88);
  --legal-muted-2:rgba(160,174,200,.88);
  --legal-line:rgba(255,255,255,.10);
  --legal-line-gold:rgba(255,215,0,.16);
  --legal-radius:18px;
  min-height:100vh;
  color:var(--legal-text);
  background:
    radial-gradient(circle at 18% 4%, rgba(255,215,0,.08), transparent 30rem),
    radial-gradient(circle at 86% 14%, rgba(255,255,255,.04), transparent 26rem),
    var(--legal-bg);
}

#rcrV2.legalPage .reveal,
#rcrV2.legalPage [data-rcr-premium-reveal]{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
}

#rcrV2.legalPage .fx{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
}

#rcrV2.legalPage .fx__bg,
#rcrV2.legalPage .fx__noise,
#rcrV2.legalPage .fx__vignette,
#rcrV2.legalPage .fx__orbs{
  display:none!important;
}

#rcrV2.legalPage .legalMain{
  padding:clamp(22px, 4vw, 48px) 0 clamp(56px, 8vw, 92px)!important;
}

#rcrV2.legalPage .legalMain > .wrap{
  width:min(100% - 32px, 1120px)!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}

#rcrV2.legalPage .legalHero{
  position:relative!important;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 clamp(24px, 4vw, 36px)!important;
  padding:clamp(24px, 4.6vw, 46px)!important;
  overflow:hidden!important;
  border:1px solid var(--legal-line-gold)!important;
  border-radius:24px!important;
  background:
    linear-gradient(140deg, rgba(255,215,0,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    var(--legal-panel-2)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06)!important;
}

#rcrV2.legalPage .legalHero::before,
#rcrV2.legalPage .legalHero::after{
  content:none!important;
}

#rcrV2.legalPage .legalHero .kicker{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 14px!important;
}

#rcrV2.legalPage .legalHero .kdot{
  width:10px!important;
  height:10px!important;
  flex:0 0 10px!important;
  border-radius:999px!important;
  background:var(--legal-gold)!important;
  box-shadow:0 0 0 8px rgba(255,215,0,.10)!important;
}

#rcrV2.legalPage .legalHero .pill,
#rcrV2.legalPage .legalMeta .tag{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--legal-muted)!important;
  font-size:.88rem!important;
  font-weight:800!important;
  letter-spacing:0!important;
  line-height:1.25!important;
  white-space:normal!important;
}

#rcrV2.legalPage .legalMeta .tag.gold{
  border-color:rgba(255,215,0,.36)!important;
  background:rgba(255,215,0,.12)!important;
  color:var(--legal-gold)!important;
}

#rcrV2.legalPage .legalHero .h1{
  max-width:920px!important;
  margin:0 0 16px!important;
  color:var(--legal-text)!important;
  font-size:clamp(2.25rem, 6vw, 4.75rem)!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-wrap:balance;
}

#rcrV2.legalPage .goldGrad{
  color:var(--legal-gold)!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
}

#rcrV2.legalPage .legalHero .lead,
#rcrV2.legalPage .legalHero .seoLead{
  max-width:860px!important;
  margin:0!important;
  color:var(--legal-muted)!important;
  font-size:clamp(1rem, 1.45vw, 1.12rem)!important;
  line-height:1.72!important;
}

#rcrV2.legalPage .legalMeta{
  display:flex!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:20px 0 0!important;
}

#rcrV2.legalPage .legalShell{
  display:grid!important;
  grid-template-columns:minmax(220px, 280px) minmax(0, 1fr)!important;
  gap:clamp(16px, 2.5vw, 28px)!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
}

#rcrV2.legalPage .legalAside,
#rcrV2.legalPage .legalCard{
  border:1px solid var(--legal-line-gold)!important;
  border-radius:20px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.016)),
    rgba(0,0,0,.62)!important;
  box-shadow:0 18px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05)!important;
}

#rcrV2.legalPage .legalAside{
  position:sticky!important;
  top:calc(var(--rcr-header-h, 72px) + 16px)!important;
  max-height:calc(100svh - var(--rcr-header-h, 72px) - 32px)!important;
  padding:18px!important;
  overflow:auto!important;
}

#rcrV2.legalPage .legalAside h2{
  margin:0 0 12px!important;
  color:var(--legal-gold)!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

#rcrV2.legalPage .legalAside ul{
  list-style:none!important;
  display:grid!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
}

#rcrV2.legalPage .legalAside li{
  min-width:0!important;
}

#rcrV2.legalPage .legalAside a{
  display:block!important;
  padding:7px 0!important;
  color:var(--legal-muted)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1.32!important;
  text-decoration:none!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}

#rcrV2.legalPage .legalAside a:hover,
#rcrV2.legalPage .legalAside a:focus-visible{
  color:var(--legal-gold)!important;
  outline:none!important;
}

#rcrV2.legalPage .legalCard{
  padding:0!important;
  overflow:hidden!important;
}

#rcrV2.legalPage .legalCard section{
  padding:clamp(22px, 3vw, 34px)!important;
  scroll-margin-top:calc(var(--rcr-header-h, 72px) + 18px)!important;
}

#rcrV2.legalPage .legalCard section + section{
  margin-top:0!important;
  border-top:1px solid rgba(255,255,255,.075)!important;
}

#rcrV2.legalPage .legalCard h2{
  position:relative!important;
  margin:0 0 12px!important;
  padding-left:14px!important;
  color:var(--legal-text)!important;
  font-size:clamp(1.14rem, 2vw, 1.42rem)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
}

#rcrV2.legalPage .legalCard h2::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.16em!important;
  width:4px!important;
  height:1.05em!important;
  border-radius:999px!important;
  background:var(--legal-gold)!important;
}

#rcrV2.legalPage .legalCard p,
#rcrV2.legalPage .legalCard li{
  color:var(--legal-muted)!important;
  font-size:1rem!important;
  line-height:1.74!important;
}

#rcrV2.legalPage .legalCard p{
  margin:0!important;
}

#rcrV2.legalPage .legalCard p + p,
#rcrV2.legalPage .legalCard p + ul,
#rcrV2.legalPage .legalCard ul + p{
  margin-top:12px!important;
}

#rcrV2.legalPage .legalCard ul{
  margin:12px 0 0!important;
  padding-left:1.15rem!important;
}

#rcrV2.legalPage .legalCard li + li{
  margin-top:8px!important;
}

#rcrV2.legalPage .legalCard a{
  color:var(--legal-gold)!important;
  text-decoration:underline!important;
  text-decoration-color:rgba(255,215,0,.34)!important;
  text-underline-offset:3px!important;
}

#rcrV2.legalPage .legalCard strong{
  color:var(--legal-text)!important;
}

#rcrV2.legalPage .foot{
  margin-top:clamp(32px, 5vw, 56px)!important;
}

#rcrV2.legalPage .foot__links{
  align-items:start!important;
}

@media (max-width:980px){
  #rcrV2.legalPage .legalShell{
    grid-template-columns:1fr!important;
  }

  #rcrV2.legalPage .legalAside{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #rcrV2.legalPage .legalAside ul{
    grid-template-columns:repeat(auto-fit, minmax(min(100%, 190px), 1fr))!important;
    gap:8px!important;
  }

  #rcrV2.legalPage .legalAside a{
    min-height:42px!important;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.035)!important;
  }

  #rcrV2.legalPage .foot__links{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:640px){
  #rcrV2.legalPage .legalMain{
    padding:22px 0 54px!important;
  }

  #rcrV2.legalPage .legalMain > .wrap{
    width:min(100% - 20px, 1120px)!important;
  }

  #rcrV2.legalPage .legalHero{
    padding:24px 16px!important;
    border-radius:22px!important;
  }

  #rcrV2.legalPage .legalHero .h1{
    font-size:clamp(2rem, 10vw, 3.1rem)!important;
  }

  #rcrV2.legalPage .legalHero .lead,
  #rcrV2.legalPage .legalHero .seoLead{
    font-size:.98rem!important;
  }

  #rcrV2.legalPage .legalCard section{
    padding:20px 16px!important;
  }

  #rcrV2.legalPage .legalCard p,
  #rcrV2.legalPage .legalCard li{
    font-size:.96rem!important;
  }
}
