/* RAYMOND REST — shared public consistency layer.
   Intentionally scoped: do not override rich-text typography, karaoke controls,
   payment widgets or section-specific forms. */
:root{
  --rp-bg:#0B0A0E;
  --rp-panel:#191719;
  --rp-text:#E8E3D8;
  --rp-muted:#AAA69E;
  --rp-gold:#DDB16D;
  --rp-border:rgba(221,177,109,.25);
}
/* Shared shell, not page-specific components. */
body{background:var(--rp-bg)!important;color:var(--rp-text)!important}
.rp-header{background:#0D0C0F;border-bottom-color:#352B2B}
.rp-brand{color:var(--rp-text)}
.rp-brand strong{color:var(--rp-text)}
.rp-desktop-nav a{color:#C9C3B8}
.rp-desktop-nav a:hover,.rp-desktop-nav a[aria-current="page"]{color:var(--rp-gold);border-bottom-color:var(--rp-gold)}
.rp-footer{background:#0D0C0F;border-top-color:#352B2B}
.rp-footer-info,.rp-footer-custom{color:#AAA69E}
.rp-footer-info a{color:#C9C3B8}
.rp-footer-info a:hover{color:var(--rp-gold)}
/* Default page headings only. Keep explicit section typography intact. */
.rp-main>h1{color:var(--rp-text)}
.rp-main .rc-archive-row h2 a{color:var(--rp-text)}
.rp-main .rc-archive-row time{color:var(--rp-gold)}
/* Unified keyboard focus without altering buttons' appearance or behaviour. */
.rp-header :is(a,button,summary):focus-visible,
.rp-footer a:focus-visible,
.rp-main :is(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--rp-gold);outline-offset:3px;
}
/* Never allow long footer labels and links to cause horizontal overflow. */
.rp-footer-inner>*{min-width:0}
.rp-footer-info a{overflow-wrap:anywhere}
@media(max-width:600px){
 .rp-footer-inner{gap:14px}
 .rp-footer-custom{padding:12px 18px 22px}
}

/* Active desktop navigation: a restrained gold underline instead of a box. */
@media (min-width:1081px) {
  .rp-header .rp-desktop-nav > a[aria-current="page"] {
    position:relative;
    border:0 !important;
    outline:0;
    box-shadow:none !important;
    background:transparent !important;
    color:#DDB16D !important;
  }
  .rp-header .rp-desktop-nav > a[aria-current="page"]::after {
    content:"";
    position:absolute;
    left:25%;right:25%;bottom:5px;
    height:2px;
    border-radius:2px;
    background:#DDB16D;
    pointer-events:none;
  }
  /* Preserve a visible keyboard-focus indication. */
  .rp-header .rp-desktop-nav > a[aria-current="page"]:focus-visible {
    outline:2px solid #DDB16D;
    outline-offset:3px;
  }
}
