.ovp-legal { background: #f5f3ee; color: #26333e; padding: 34px 0 80px; }
.ovp-legal * { box-sizing: border-box; }
.ovp-legal__shell { max-width: 1240px; margin: auto; padding: 0 32px; }
.ovp-legal__breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: #687078; }
.ovp-legal a { color: #785a2b; text-underline-offset: 4px; }
.ovp-legal__header { padding: 44px 0 38px; max-width: 940px; }
.ovp-legal__eyebrow { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #866a3e; margin: 0 0 18px; }
.ovp-legal h1 { font: 400 clamp(34px,4.5vw,58px)/1.12 Georgia,serif; color: #142533; letter-spacing: -.035em; margin: 0 0 20px; overflow-wrap: anywhere; }
.ovp-legal__intro { font-size: 16px; color: #677078; margin: 0; }
.ovp-legal__layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 36px; align-items: start; }
.ovp-legal__sidebar { position: sticky; top: 110px; font-size: 14px; }
.ovp-legal__sidebar nav { border-top: 1px solid #d7cbb7; }
.ovp-legal__sidebar nav a { display: flex; justify-content: space-between; gap: 12px; padding: 17px 12px; border-bottom: 1px solid #d7cbb7; color: #34424d; text-decoration: none; line-height: 1.5; }
.ovp-legal__sidebar nav a[aria-current] { background: #172b3b; color: #fff; border-radius: 4px; }
.ovp-legal__sidebar nav a:hover { background: #e7dfd2; color: #172b3b; }
.ovp-legal__sidebar > p { margin: 24px 12px; color: #6b7379; font-size: 13px; line-height: 1.8; }
.ovp-legal__document { min-width: 0; padding: clamp(22px,3.5vw,44px); border: 1px solid #dfd8cc; border-radius: 8px; background: #fffefa; box-shadow: 0 10px 32px #26333e08; }
.ovp-legal__notice { padding: 16px 20px; margin-bottom: 30px; background: #f7efdf; border-left: 3px solid #a57d39; border-radius: 2px; font-size: 13px; line-height: 1.6; }
.ovp-legal__notice strong { color: #725522; }
.ovp-legal__notice p { margin: 5px 0 0; }
.ovp-legal__content { font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.ovp-legal__content h2 { font: 400 27px/1.3 Georgia,serif; color: #172b3b; margin: 36px 0 18px; }
.ovp-legal__content h2:first-child { margin-top: 0; }
.ovp-legal__content p { margin: 0 0 18px; }
.ovp-legal__content ol,.ovp-legal__content ul { margin: 0 0 24px 22px; }
.ovp-legal__content li { padding-left: 5px; margin-bottom: 15px; }
.ovp-legal__content mark { background: #f8ecd3; color: #745522; padding: 2px 4px; border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ovp-legal__table { overflow-x: auto; margin: 24px 0; }
.ovp-legal__content table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 0; }
.ovp-legal__content th,.ovp-legal__content td { padding: 12px; border: 1px solid #ded7ca; vertical-align: top; text-align: left; min-width: 120px; }
.ovp-legal__content th { background: #ede8df; font-weight: 600; }
.ovp-legal__back { display: inline-block; margin-top: 24px; padding-top: 24px; border-top: 1px solid #ded7ca; font-size: 14px; }
.ovp-legal :focus-visible { outline: 2px solid #a57d39; outline-offset: 4px; }
@media(max-width:850px) { .ovp-legal__layout { grid-template-columns: minmax(0,1fr); gap: 24px; } .ovp-legal__sidebar { position: static; } .ovp-legal__sidebar > p { display: none; } .ovp-legal__sidebar nav { display: grid; grid-template-columns: 1fr 1fr; } }
@media(max-width:520px) { .ovp-legal { padding: 24px 0 48px; } .ovp-legal__shell { padding: 0 18px; } .ovp-legal__header { padding: 30px 0; } .ovp-legal__sidebar nav { grid-template-columns: 1fr; } .ovp-legal__document { padding: 22px 18px; } .ovp-legal__content { font-size: 14px; } }
@media print { .site-header,.ovp-header,.ovp-footer,.ovp-legal__sidebar,.ovp-legal__breadcrumbs,.ovp-legal__back { display: none !important; } .ovp-legal,.ovp-legal__document { padding: 0; background: white; border: 0; box-shadow: none; } .ovp-legal__layout { display: block; } .ovp-legal__table { overflow: visible; } }
