/* ============================================================================
   Revival Runway — cookie-consent banner + privacy-policy skeleton styles
   ----------------------------------------------------------------------------
   Brand-locked to match rr-core (one source of truth lives in rr-core/assets/
   rr-grid.css; this file is OUTSIDE the .rr-grid-root scope, so it re-states the
   SAME locked values — Crete Round + Roboto Condensed, black/white + warm paper,
   Revival cyan #0ca0c9). No new palette is introduced. If the cyan ever changes
   in rr-core, update the one --rr-accent line below to match.

   The banner sits at the bottom on every front-end page. z-index 9500 keeps it
   ABOVE rr-core's sticky action bar (z-index 9000) but BELOW rr-core's mobile
   filter bottom-sheet/backdrop (z-index 10000–10001) so an open filter sheet is
   never blocked by the consent prompt.
   ============================================================================ */

.rr-cookie-banner{
  --rr-ink:#000;
  --rr-paper:#fff;
  --rr-paper-warm:#fafaf7;
  --rr-text:#444;
  --rr-muted:#999;
  --rr-border:#d8d8d8;
  --rr-hairline:#e5e5e5;
  --rr-accent:#0ca0c9;          /* Revival cyan — matches rr-core */
  --rr-accent-ink:#fff;
  --rr-font-display:'Crete Round',Georgia,serif;
  --rr-font-body:'Roboto Condensed',Helvetica,Arial,sans-serif;

  position:fixed;left:0;right:0;bottom:0;z-index:9500;
  background:var(--rr-paper);
  border-top:2px solid var(--rr-ink);
  box-shadow:0 -12px 32px rgba(0,0,0,.14);
  font-family:var(--rr-font-body);
  color:var(--rr-text);
  font-size:14px;line-height:1.6;
  padding-bottom:env(safe-area-inset-bottom);
  /* gently slide in; honoured-off under prefers-reduced-motion below */
  transform:translateY(110%);
  transition:transform .3s ease;
}
.rr-cookie-banner.rr-cookie-show{ transform:translateY(0); }
.rr-cookie-banner[hidden]{ display:none; }
.rr-cookie-banner *,.rr-cookie-banner *::before,.rr-cookie-banner *::after{ box-sizing:border-box; }

.rr-cookie-inner{
  max-width:1080px;margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.rr-cookie-copy{ flex:1 1 320px;min-width:0; }
.rr-cookie-title{
  font-family:var(--rr-font-display);font-weight:400;color:var(--rr-ink);
  font-size:18px;line-height:1.3;margin:0 0 4px;
}
.rr-cookie-desc{ margin:0;color:var(--rr-text); }
.rr-cookie-link{ color:var(--rr-ink);text-decoration:underline;text-underline-offset:2px; }
.rr-cookie-link:hover{ color:var(--rr-accent); }

.rr-cookie-actions{ display:flex;gap:10px;flex:0 0 auto; }
.rr-cookie-btn{
  font-family:var(--rr-font-body);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  padding:12px 22px;min-height:44px;          /* ≥44px touch target (brief §6/§9) */
  border:1px solid var(--rr-ink);background:var(--rr-paper);color:var(--rr-ink);
  transition:background .15s,color .15s,border-color .15s;
}
.rr-cookie-btn:hover{ background:var(--rr-ink);color:var(--rr-paper); }
.rr-cookie-accept{ background:var(--rr-accent);border-color:var(--rr-accent);color:var(--rr-accent-ink); }
.rr-cookie-accept:hover{ background:var(--rr-ink);border-color:var(--rr-ink);color:var(--rr-paper); }
.rr-cookie-btn:focus-visible{ outline:2px solid var(--rr-accent);outline-offset:2px; }

@media (max-width:560px){
  .rr-cookie-inner{ padding:16px 18px;gap:14px; }
  .rr-cookie-actions{ width:100%; }
  .rr-cookie-btn{ flex:1 1 0;text-align:center;padding:13px 14px; }
}

/* The consent banner always sits flush to the bottom of the viewport. (It used
   to lift 56px when body.rr-has-action-bar was present, but that class also
   appears on pages with no visible action bar — e.g. the homepage — leaving a
   strip of page below the banner. z-index 9500 already keeps it above the action
   bar, and the banner is dismissed quickly, so a brief overlap is fine.) */
.rr-cookie-banner{ bottom:0 !important; }

/* Honour the OS reduced-motion preference (brief §6/§9). */
@media (prefers-reduced-motion:reduce){
  .rr-cookie-banner{ transition:none; }
}

/* ============================================================================
   Privacy-policy skeleton — readable long-form, same locked type/palette.
   Self-scoped so it reads consistently inside a Divi Text/Code module.
   ============================================================================ */

.rr-privacy{
  --rr-ink:#000;--rr-text:#444;--rr-muted:#999;--rr-hairline:#e5e5e5;--rr-accent:#0ca0c9;
  --rr-font-display:'Crete Round',Georgia,serif;
  --rr-font-body:'Roboto Condensed',Helvetica,Arial,sans-serif;
  font-family:var(--rr-font-body);color:var(--rr-text);
  font-size:15px;line-height:1.75;max-width:760px;margin:0 auto;
}
.rr-privacy h2,.rr-privacy h3{ font-family:var(--rr-font-display);font-weight:400;color:var(--rr-ink);line-height:1.3; }
.rr-privacy-title{ font-size:32px;margin:0 0 6px; }
.rr-privacy-meta{ font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--rr-muted);margin:0 0 24px; }
.rr-privacy-intro{ margin:0 0 28px; }
.rr-privacy-section{ margin:0 0 26px;padding-top:22px;border-top:1px solid var(--rr-hairline); }
.rr-privacy-h{ font-size:20px;margin:0 0 10px; }
.rr-privacy-section p{ margin:0 0 12px; }
.rr-privacy-list{ margin:8px 0 0;padding-left:20px; }
.rr-privacy-list li{ margin:0 0 6px; }
.rr-privacy code{ font-size:.92em;background:#f5f5f5;padding:1px 5px;border-radius:2px; }
.rr-privacy a{ color:var(--rr-ink);text-decoration:underline;text-underline-offset:2px; }
.rr-privacy a:hover{ color:var(--rr-accent); }
.rr-privacy-foot{ margin-top:30px;padding-top:22px;border-top:2px solid var(--rr-ink); }
.rr-privacy-note{ color:var(--rr-muted);font-size:13px; }
