/* RODE LIFE — shared site chrome (.rl- header/footer).
   For pages that include components/header.php + footer.php.
   Requires /assets/css/styles.css (design tokens --c-*) to be loaded FIRST. */
.rl-header *,.rl-footer *{box-sizing:border-box}
.rl-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.rl-header{position:sticky;top:0;z-index:5000;background:#fff;border-bottom:1px solid var(--c-line);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.rl-header a{text-decoration:none}
.rl-header-inner{display:flex;align-items:center;gap:1rem;height:84px}
.rl-logo{display:inline-flex;align-items:center;flex-shrink:0}.rl-logo img{height:56px;width:auto;display:block}
.rl-nav{flex:1 1 auto;display:flex;justify-content:center}
.rl-nav-list{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0}.rl-nav-item{position:static}
.rl-nav-link{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;background:none;border:0;font:inherit;color:var(--c-ink);font-weight:600;font-size:1.02rem;padding:.75rem .95rem;border-radius:8px;position:relative;text-decoration:none;transition:color .15s ease}
.rl-nav-link .rl-caret{transition:transform .2s ease;opacity:.85}.rl-nav-link:hover,.rl-nav-link.is-active{color:var(--c-blue)}
.rl-has-mega:hover>.rl-nav-link,.rl-has-mega:focus-within>.rl-nav-link{color:var(--c-blue)}
.rl-has-mega:hover>.rl-nav-link .rl-caret,.rl-has-mega:focus-within>.rl-nav-link .rl-caret{transform:rotate(180deg)}
.rl-plus{color:var(--c-blue);font-weight:800;margin-left:1px}.rl-nav-perks{color:var(--c-ink)}
.rl-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);width:min(920px,calc(100vw - 3rem));z-index:6000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.rl-has-mega:hover>.rl-mega,.rl-has-mega:focus-within>.rl-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.rl-mega-inner{background:#fff;border:1px solid var(--c-line);border-radius:20px;box-shadow:0 24px 60px rgba(4,18,35,.16);padding:2rem 2.25rem}
.rl-mega-title{font-size:1.4rem;font-weight:800;color:var(--c-ink);margin:0 0 1.4rem}
.rl-mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 3rem}
.rl-mega-link{display:flex;align-items:center;gap:.8rem;padding:.65rem .4rem;border-radius:8px;color:#5b6470;font-size:1.12rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}
.rl-mega-link .rl-mega-arrow{color:var(--c-blue);flex-shrink:0}.rl-mega-link:hover{background:var(--c-soft);color:var(--c-ink)}
.rl-account{position:relative;flex-shrink:0}
.rl-account-btn{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;background:#fff;border:1px solid #d7dde5;border-radius:999px;padding:.55rem 1rem;color:var(--c-ink);transition:border-color .15s ease,box-shadow .15s ease}
.rl-account-btn:hover,.rl-account:focus-within .rl-account-btn{border-color:var(--c-blue);box-shadow:var(--c-shadow-sm)}
.rl-account-menu{left:auto;right:0;transform:translateY(8px);width:280px}
.rl-account:hover>.rl-account-menu,.rl-account:focus-within>.rl-account-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.rl-account-menu .rl-mega-inner{padding:.6rem}
.rl-account-link{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:12px;color:var(--c-ink);font-weight:600;text-decoration:none;transition:background .15s ease}
.rl-account-link svg{color:var(--c-blue)}.rl-account-link:hover{background:var(--c-soft)}
.rl-account-logout{border-top:1px solid var(--c-line);margin-top:.25rem;padding-top:.9rem}.rl-account-logout svg{color:#94a3b8}
.rl-burger{display:none;background:none;border:1px solid var(--c-line);border-radius:10px;padding:.5rem .6rem;cursor:pointer;color:var(--c-ink)}
.rl-mobile{display:none;border-top:1px solid var(--c-line);padding:.5rem 1.5rem 1.5rem;max-height:calc(100vh - 84px);overflow-y:auto}
.rl-header.is-open .rl-mobile{display:block}
.rl-mobile-group{border-bottom:1px solid var(--c-line)}
.rl-mobile-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.95rem .25rem;font-weight:700;color:var(--c-ink)}
.rl-mobile-group>summary::-webkit-details-marker{display:none}
.rl-mobile-group[open]>summary .rl-caret{transform:rotate(180deg)}
.rl-mobile-links{padding:0 .25rem .75rem;display:grid;gap:.15rem}
.rl-mobile-links a{padding:.55rem .75rem;color:#5b6470;border-radius:8px;text-decoration:none}
.rl-mobile-links a:hover{background:var(--c-soft);color:var(--c-ink)}
.rl-mobile-flat{display:block;padding:.95rem .25rem;font-weight:700;color:var(--c-ink);text-decoration:none;border-bottom:1px solid var(--c-line)}
.rl-mobile-divider{height:.5rem}
@media (max-width:992px){.rl-nav,.rl-account{display:none}.rl-burger{display:inline-flex;margin-left:auto}.rl-header-inner{height:72px}.rl-logo img{height:48px}}
.rl-footer{background:#fafbfc;color:#5b6470;padding:4rem 0 2.5rem;border-top:1px solid var(--c-line);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.rl-footer a{text-decoration:none}
.rl-footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
.rl-footer-brand img{height:52px;width:auto}
.rl-footer-heading{color:var(--c-ink);font-size:1.2rem;font-weight:800;margin:0 0 1.25rem}
.rl-footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.rl-footer-links a{color:#6b7280;text-decoration:none;transition:color .15s ease}.rl-footer-links a:hover{color:var(--c-blue)}
.rl-footer-mid{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--c-line);margin-top:3rem;padding-top:1.75rem}
.rl-footer-legal{display:flex;flex-wrap:wrap;gap:1.75rem}
.rl-footer-legal a{color:#6b7280;text-decoration:none}.rl-footer-legal a:hover{color:var(--c-blue)}
.rl-footer-copy{margin:0;color:#6b7280}
.rl-footer-social{text-align:center;margin-top:2.75rem}
.rl-footer-social-title{color:var(--c-ink);font-weight:800;font-size:1.15rem;margin:0 0 1.1rem}
.rl-social-icons{display:flex;justify-content:center;gap:1.5rem}
.rl-social-icons a{color:var(--c-ink);transition:color .15s ease,transform .15s ease}.rl-social-icons a:hover{color:var(--c-blue);transform:translateY(-2px)}
.rl-footer-trademark{max-width:880px;margin:2.5rem auto 0;text-align:center;font-size:.92rem;color:#9aa3af;line-height:1.7}
@media (max-width:860px){.rl-footer-top{grid-template-columns:1fr 1fr;gap:2rem}.rl-footer-brand{grid-column:1 / -1}}
@media (max-width:520px){.rl-footer-top{grid-template-columns:1fr}.rl-footer-mid{flex-direction:column;align-items:flex-start}}
