@import url('../../../assets/css/var.css');

* { box-sizing: border-box; }

html, body { margin: 0; min-width: 320px; min-height: 100%; }

body {
    color: var(--oria-color-ink);
    background: var(--oria-color-cream);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.65;
}

a,
a:visited { color: var(--oria-color-plum-deep); }

a:hover { color: var(--oria-color-gold); }

a:focus-visible {
    outline: 3px solid var(--oria-color-focus);
    outline-offset: 4px;
}

.oria-info-page { background: var(--oria-site-warm, #fbf4ed); }
.legal-page { width: min(100% - 40px, 820px); margin: 0 auto; padding: 48px 0 86px; }
.legal-page__masthead { padding: 8px 0 42px; }
.legal-page__back { display: inline-flex; margin-bottom: 42px; color: var(--oria-color-plum-deep); font-size: 13px; font-weight: 700; text-decoration: none; }
.legal-page__back:hover { color: var(--oria-color-gold); }
.legal-page h1 { margin: 0 0 12px; color: var(--oria-color-plum); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 6vw, 48px); font-weight: 400; line-height: 1.15; }
.legal-page h2 { margin: 36px 0 8px; font-family: Georgia, 'Times New Roman', serif; font-size: 26px; font-weight: 400; line-height: 1.25; }
.legal-page h3 { margin: 28px 0 8px; color: var(--oria-color-plum); font-size: 18px; line-height: 1.35; }
.legal-page p { margin: 0 0 18px; }
.legal-page__lead { max-width: 700px; margin: 0 0 12px; color: var(--oria-color-text-muted); font-size: 20px; line-height: 1.5; }
.legal-page__updated { margin: 0; color: var(--oria-color-text-muted); font-size: 12px; }
.legal-page__content { padding: 34px 38px 40px; border: 1px solid rgba(113, 48, 79, .14); border-radius: 22px; background: rgba(255, 252, 248, .84); box-shadow: 0 14px 35px rgba(61, 30, 42, .08); }
.legal-page__content > :first-child { margin-top: 0; }
.legal-page__content > :last-child { margin-bottom: 0; }
.legal-page__content ul, .legal-page__content ol { margin: 0 0 22px; padding-left: 22px; }
.legal-page__content li { margin: 0 0 9px; }
.legal-page__content strong { color: var(--oria-color-plum); }
.legal-page__content a { font-weight: 700; }
.legal-page__content hr { margin: 34px 0; border: 0; border-top: 1px solid rgba(113, 48, 79, .14); }
.legal-page__callout { margin: 24px 0; padding: 18px 20px; border-left: 3px solid var(--oria-color-gold); border-radius: 0 14px 14px 0; background: rgba(248, 238, 236, .72); }
.legal-page__callout p:last-child { margin-bottom: 0; }
.legal-page__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0 28px; }
.legal-page__card { padding: 19px 20px; border: 1px solid rgba(113, 48, 79, .12); border-radius: 15px; background: rgba(255, 255, 255, .48); }
.legal-page__card h3 { margin-top: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 22px; font-weight: 400; }
.legal-page__card p:last-child { margin-bottom: 0; }
.legal-page__faq { display: grid; gap: 10px; margin: 18px 0 28px; }
.legal-page__faq details { border: 1px solid rgba(113, 48, 79, .14); border-radius: 13px; background: rgba(255, 255, 255, .46); }
.legal-page__faq summary { padding: 16px 18px; color: var(--oria-color-plum); font-weight: 700; cursor: pointer; list-style: none; }
.legal-page__faq summary::-webkit-details-marker { display: none; }
.legal-page__faq summary::after { float: right; width: 7px; height: 7px; margin-top: 4px; border-right: 1.5px solid var(--oria-color-plum); border-bottom: 1.5px solid var(--oria-color-plum); transform: rotate(45deg); content: ''; transition: transform .2s ease; }
.legal-page__faq details[open] summary::after { transform: rotate(225deg); }
.legal-page__faq details > p { margin: 0; padding: 0 18px 17px; color: var(--oria-color-text-muted); }
.legal-page__contact { display: grid; gap: 8px; margin: 22px 0 28px; padding: 22px; border: 1px solid rgba(188, 139, 61, .28); border-radius: 16px; background: rgba(255, 250, 245, .72); }
.legal-page__contact p { margin: 0; }
.legal-page__contact a { color: var(--oria-color-plum-deep); }
.legal-kicker { margin: 0 0 28px; color: var(--oria-color-plum); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 599px) {
    .legal-page { width: min(100% - 32px, 820px); padding-top: 32px; }
    .legal-page__masthead { padding-bottom: 30px; }
    .legal-page__back { margin-bottom: 30px; }
    .legal-page__lead { font-size: 17px; }
    .legal-page__content { padding: 25px 20px 29px; border-radius: 17px; }
    .legal-page__grid { grid-template-columns: 1fr; gap: 12px; }
    body { font-size: 17px; }
}
