/* Royal Floras – legal pages & global legal footer. Uses the site's design tokens. */
#rf-legal-footer{position:relative;z-index:40;background:var(--color-bg,#0a0908);border-top:1px solid var(--color-border,#f3ebe01f);padding:1.5rem 1.25rem 2rem;font-family:var(--font-sans,"Outfit",system-ui,sans-serif);color:var(--color-subtle,#8a7f73)}
@media (min-width:768px){#rf-legal-footer{padding:1.75rem 2.5rem 2.25rem}}
#rf-legal-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}
#rf-legal-footer a{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted,#c4b8a8);text-decoration:none;transition:color .15s}
#rf-legal-footer a:hover,#rf-legal-footer a:focus-visible{color:var(--color-fg,#f3ebe0)}
#rf-legal-footer a.rf-withdraw{border:1px solid var(--color-muted,#c4b8a8);border-radius:999px;padding:.45rem .9rem;color:var(--color-fg,#f3ebe0)}
#rf-legal-footer p{margin:.9rem 0 0;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase}
.rf-legal{min-height:100dvh;background:var(--color-bg);color:var(--color-fg)}
.rf-legal header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border)}
@media (min-width:768px){.rf-legal header{padding:1rem 2.5rem}}
.rf-legal header img{height:3.5rem;width:auto}
.rf-legal header a.back{font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-muted);text-decoration:none}
.rf-legal header a.back:hover{color:var(--color-fg)}
.rf-legal main{max-width:48rem;margin:0 auto;padding:3.5rem 1.25rem 5rem;font-family:var(--font-sans);font-size:.95rem;line-height:1.7;color:var(--color-muted)}
.rf-legal .kicker{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-subtle);margin:0}
.rf-legal h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,6vw,4rem);line-height:1;color:var(--color-fg);margin:.75rem 0 2rem}
.rf-legal h2{font-family:var(--font-display);font-weight:400;font-size:1.75rem;line-height:1.15;color:var(--color-fg);margin:2.75rem 0 .75rem}
.rf-legal h3{font-family:var(--font-sans);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-fg);margin:1.75rem 0 .5rem}
.rf-legal p,.rf-legal ul,.rf-legal ol{margin:0 0 1rem}
.rf-legal ul,.rf-legal ol{padding-left:1.25rem}
.rf-legal ul{list-style:disc}.rf-legal ol{list-style:decimal}
.rf-legal li{margin:.25rem 0}
.rf-legal a{color:var(--color-fg);text-decoration:underline;text-underline-offset:2px}
.rf-legal strong{color:var(--color-fg);font-weight:500}
.rf-legal address{font-style:normal}
.rf-legal .box{border-radius:1rem;background:var(--color-surface);box-shadow:0 0 0 1px var(--color-border);padding:1.5rem;margin:1.5rem 0}
.rf-legal .note{font-size:.8rem;color:var(--color-subtle)}
.rf-legal form label{display:block;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-subtle);margin:1rem 0 .35rem}
.rf-legal form input,.rf-legal form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--color-border);color:var(--color-fg);font:inherit;padding:.6rem 0;outline:none}
.rf-legal form input:focus,.rf-legal form textarea:focus{border-bottom-color:var(--color-fg)}
.rf-legal .btn{display:inline-flex;align-items:center;justify-content:center;height:3.25rem;padding:0 1.75rem;margin-top:1.5rem;border-radius:999px;border:0;background:var(--color-accent);color:var(--color-accent-fg);font:500 .95rem var(--font-sans);cursor:pointer;text-decoration:none}
.rf-legal .btn.outline{background:transparent;color:var(--color-fg);box-shadow:0 0 0 1px var(--color-border)}
.rf-legal pre{white-space:pre-wrap;font:inherit;font-size:.85rem;color:var(--color-fg)}
.rf-legal table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.9rem}
.rf-legal th,.rf-legal td{text-align:left;padding:.5rem .5rem .5rem 0;border-bottom:1px solid var(--color-border);vertical-align:top}
.rf-legal th{color:var(--color-fg);font-weight:500}
@media print{.rf-legal header,#rf-legal-footer{display:none}.rf-legal,.rf-legal main{background:#fff;color:#000}.rf-legal h1,.rf-legal h2,.rf-legal h3,.rf-legal strong,.rf-legal a{color:#000}}
.rf-legal img.notice{display:block;width:100%;max-width:36rem;height:auto;margin:1.5rem 0;border-radius:.5rem;box-shadow:0 0 0 1px var(--color-border)}
#rf-legal-footer p.rf-provider{margin-top:1.1rem;font-size:.625rem;letter-spacing:.06em;text-transform:none;line-height:1.6;color:var(--color-subtle,#8a7f73)}
#rf-legal-footer p.rf-provider a{font-size:inherit;letter-spacing:inherit;text-transform:none;color:var(--color-muted,#c4b8a8);text-decoration:underline;text-underline-offset:2px}
/* mobile-compact home (patch7) */
@media (max-width:767.98px){
body:has(#contact[data-scene]) #contact[data-scene]>div{padding:1.25rem 1.25rem 1.3rem;border-radius:1.5rem}
body:has(#contact[data-scene]) #contact[data-scene]>div>h2{font-size:2.125rem;line-height:1.06}
body:has(#contact[data-scene]) #contact[data-scene]>div>p{margin-top:.6rem;font-size:.84rem;line-height:1.5}
body:has(#contact[data-scene]) #contact[data-scene]>div>div{margin-top:1rem;gap:.5rem}
body:has(#contact[data-scene]) #contact[data-scene]>div>div>a{height:2.625rem;padding:0 1.05rem;font-size:.78rem;letter-spacing:.02em}
body:has(#contact[data-scene]) #contact[data-scene]+footer{padding-top:.8rem;padding-bottom:.8rem}
body:has(#contact[data-scene]) #contact[data-scene]+footer>div{flex-direction:row;flex-wrap:wrap;gap:.3rem 1rem}
body:has(#contact[data-scene]) #contact[data-scene]+footer p{font-size:.5625rem;letter-spacing:.14em;line-height:1.5}
body:has(#contact[data-scene]) #rf-legal-footer{padding:.85rem 1.25rem 1rem}
body:has(#contact[data-scene]) #rf-legal-footer nav{gap:.4rem .85rem}
body:has(#contact[data-scene]) #rf-legal-footer nav a{font-size:.5625rem;letter-spacing:.12em;line-height:1.5}
body:has(#contact[data-scene]) #rf-legal-footer nav a.rf-withdraw{padding:.28rem .7rem}
body:has(#contact[data-scene]) #rf-legal-footer p{margin-top:.55rem;font-size:.5625rem;letter-spacing:.08em;line-height:1.5}
body:has(#contact[data-scene]) #rf-legal-footer p.rf-provider{margin-top:.6rem;font-size:.625rem;letter-spacing:.02em;line-height:1.45}
}
