/* Site-wide interaction layer: desktop native .cur cursor pack + mobile tap pulse */

:root {
  --rnr-gold: #c3a472;
  --rnr-gold-soft: rgba(195, 164, 114, 0.3);
  --rnr-black: rgba(5, 5, 5, 0.92);
  --rnr-desktop-cursor: url("cursors/night-diamond-v3-0-amber/normal.cur");
}

@media (hover: hover) and (pointer: fine) {
  html,
  html body,
  html body * {
    cursor: var(--rnr-desktop-cursor), auto !important;
  }

  html a,
  html button,
  html [role="button"],
  html .btn {
    transition: color 120ms ease, text-shadow 120ms ease, box-shadow 120ms ease, filter 120ms ease;
  }

  html a:hover {
    text-shadow: 0 0 8px var(--rnr-gold-soft);
  }

  html button:hover,
  html [role="button"]:hover,
  html .btn:hover {
    box-shadow: 0 0 0 1px rgba(224, 197, 132, 0.28), 0 0 14px rgba(224, 197, 132, 0.16);
    filter: saturate(1.03);
  }
}

.rnr-tap-pulse {
  position: fixed;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 2147483647;
  transform: translate(-50%, -50%) scale(0.6);
  background: radial-gradient(circle at center, rgba(224, 197, 132, 0.4), rgba(224, 197, 132, 0.16) 48%, transparent 72%);
  border: 1px solid rgba(224, 197, 132, 0.46);
  box-shadow: 0 0 0 1px rgba(5, 6, 8, 0.45) inset, 0 0 12px rgba(224, 197, 132, 0.2);
  animation: rnrTapPulse 360ms cubic-bezier(0.18, 0.82, 0.2, 1) forwards;
}

@keyframes rnrTapPulse {
  0% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(0.6);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(3.2);
  }
}

/* Portal-aligned public-site theme. Light Mode and private app surfaces opt out. */
body.rnr-public-surface:not(.easy-view) {
  --primary-gold: #c3a472;
  --hover-gold: #b4996d;
  --brand-gold: #c3a472;
  --brand-gold-hover: #b4996d;
  --brand-light: #d8c9aa;
  --brand-dim: rgba(216, 201, 170, 0.62);
  --brand-panel: rgba(20, 20, 20, 0.72);
  --brand-panel-strong: rgba(14, 14, 14, 0.9);
  --brand-line: rgba(195, 164, 114, 0.13);
  --brand-line-strong: rgba(195, 164, 114, 0.26);
  --flow-bg: #050505;
  --flow-gold: #c3a472;
  --flow-gold-hover: #b4996d;
  --flow-text: #d8c9aa;
  --flow-muted: rgba(216, 201, 170, 0.66);
  --flow-line: rgba(195, 164, 114, 0.13);
  --flow-line-strong: rgba(195, 164, 114, 0.26);
  background-color: #050505 !important;
  color: #d8c9aa !important;
}

html:has(> body.rnr-public-surface) {
  overflow-x: clip;
}

body.rnr-public-surface:not(.easy-view) .fixed-nav,
body.rnr-public-surface:not(.easy-view) #navbar.rnr-site-header {
  background: rgba(10, 10, 10, 0.9) !important;
  border-bottom-color: rgba(195, 164, 114, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
}

body.rnr-public-surface:not(.easy-view) .mobile-menu,
body.rnr-public-surface:not(.easy-view) .rnr-site-drawer {
  background: #0a0a0a !important;
  border-left-color: rgba(195, 164, 114, 0.12) !important;
  box-shadow: -12px 0 30px rgba(0, 0, 0, 0.28) !important;
}

body.rnr-public-surface:not(.easy-view) .glass-panel,
body.rnr-public-surface:not(.easy-view) .card-fancy,
body.rnr-public-surface:not(.easy-view) .homepage-card,
body.rnr-public-surface:not(.easy-view) .pricing-card,
body.rnr-public-surface:not(.easy-view) .feature-card,
body.rnr-public-surface:not(.easy-view) .inquiry-card,
body.rnr-public-surface:not(.easy-view) .details-panel,
body.rnr-public-surface:not(.easy-view) .calendar-panel,
body.rnr-public-surface:not(.easy-view) .availability-panel,
body.rnr-public-surface:not(.easy-view) .modal-backdrop > div,
body.rnr-public-surface:not(.easy-view) [class~="bg-white/5"],
body.rnr-public-surface:not(.easy-view) [class~="bg-black/40"] {
  background: rgba(20, 20, 20, 0.72) !important;
  border-color: rgba(195, 164, 114, 0.12) !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
}

body.rnr-public-surface:not(.easy-view) .card-fancy:hover,
body.rnr-public-surface:not(.easy-view) .homepage-card:hover,
body.rnr-public-surface:not(.easy-view) .pricing-card:hover,
body.rnr-public-surface:not(.easy-view) .feature-card:hover {
  border-color: rgba(195, 164, 114, 0.22) !important;
  box-shadow: 0 15px 34px rgba(0, 0, 0, 0.26) !important;
  transform: translateY(-2px);
}

body.rnr-public-surface:not(.easy-view) input:not([type="checkbox"]):not([type="radio"]),
body.rnr-public-surface:not(.easy-view) select,
body.rnr-public-surface:not(.easy-view) textarea,
body.rnr-public-surface:not(.easy-view) .field {
  border-color: rgba(195, 164, 114, 0.22) !important;
  border-radius: 0.25rem !important;
  background: rgba(20, 20, 20, 0.68) !important;
  color: #d8c9aa !important;
  box-shadow: none !important;
}

body.rnr-public-surface:not(.easy-view) input:focus,
body.rnr-public-surface:not(.easy-view) select:focus,
body.rnr-public-surface:not(.easy-view) textarea:focus,
body.rnr-public-surface:not(.easy-view) .field:focus {
  border-color: rgba(195, 164, 114, 0.58) !important;
  outline: 2px solid rgba(195, 164, 114, 0.16) !important;
  outline-offset: 2px;
  background: rgba(24, 24, 24, 0.82) !important;
  box-shadow: none !important;
}

body.rnr-public-surface:not(.easy-view) .btn-gold,
body.rnr-public-surface:not(.easy-view) .btn-ghost,
body.rnr-public-surface:not(.easy-view) .action-link.secondary {
  border: 1px solid rgba(195, 164, 114, 0.52) !important;
  border-radius: 0.25rem !important;
  background: transparent !important;
  color: #c3a472 !important;
  box-shadow: none !important;
}

body.rnr-public-surface:not(.easy-view) .btn-filled,
body.rnr-public-surface:not(.easy-view) button[type="submit"],
body.rnr-public-surface:not(.easy-view) .action-link:not(.secondary) {
  border: 1px solid #c3a472 !important;
  border-radius: 0.25rem !important;
  background: #c3a472 !important;
  color: #17130d !important;
  box-shadow: none !important;
}

body.rnr-public-surface:not(.easy-view) .btn-filled:hover,
body.rnr-public-surface:not(.easy-view) button[type="submit"]:hover:not(:disabled),
body.rnr-public-surface:not(.easy-view) .action-link:not(.secondary):hover {
  border-color: #b4996d !important;
  background: #b4996d !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}

body.rnr-public-surface:not(.easy-view) .text-brand-gold,
body.rnr-public-surface:not(.easy-view) .text-\[\#E0C584\] {
  color: #c3a472 !important;
}

body.rnr-public-surface:not(.easy-view) .text-brand-light {
  color: #d8c9aa !important;
}

body.rnr-public-surface:not(.easy-view) .text-brand-dim,
body.rnr-public-surface:not(.easy-view) .text-brand-gold\/80,
body.rnr-public-surface:not(.easy-view) .text-\[\#E0C584\]\/80 {
  color: rgba(216, 201, 170, 0.66) !important;
}

body.rnr-public-surface:not(.easy-view) [class*="border-brand-gold"] {
  border-color: rgba(195, 164, 114, 0.16) !important;
}

body.rnr-public-surface:not(.easy-view) .border-\[\#E0C584\],
body.rnr-public-surface:not(.easy-view) .border-\[\#E0C584\]\/20,
body.rnr-public-surface:not(.easy-view) .border-\[\#E0C584\]\/30,
body.rnr-public-surface:not(.easy-view) .border-\[\#E0C584\]\/40 {
  border-color: rgba(195, 164, 114, 0.16) !important;
}

body.rnr-public-surface:not(.easy-view) .section-divider {
  border-color: rgba(195, 164, 114, 0.11) !important;
}

body.rnr-public-surface:not(.easy-view) .choice-option {
  background: rgba(20, 20, 20, 0.42) !important;
  border-color: rgba(195, 164, 114, 0.13) !important;
  border-radius: 0.25rem !important;
}

body.rnr-public-surface:not(.easy-view) .choice-option:hover {
  background: rgba(195, 164, 114, 0.06) !important;
  border-color: rgba(195, 164, 114, 0.3) !important;
}

body.rnr-public-surface:not(.easy-view) input[type="checkbox"],
body.rnr-public-surface:not(.easy-view) input[type="radio"] {
  border-color: rgba(195, 164, 114, 0.52);
  box-shadow: none;
}

body.rnr-public-surface:not(.easy-view) input[type="checkbox"]:focus-visible,
body.rnr-public-surface:not(.easy-view) input[type="radio"]:focus-visible,
body.rnr-public-surface:not(.easy-view) button:focus-visible,
body.rnr-public-surface:not(.easy-view) a:focus-visible {
  outline: 2px solid #c3a472 !important;
  outline-offset: 3px !important;
}

body.rnr-public-surface:not(.easy-view) .professional-consent {
  background: linear-gradient(145deg, rgba(28, 20, 17, 0.72), rgba(14, 12, 11, 0.8)) !important;
  border-color: rgba(240, 167, 120, 0.22) !important;
  color: #f0a778 !important;
}

@media (max-width: 48rem) {
  body.rnr-public-surface:not(.easy-view) .glass-panel,
  body.rnr-public-surface:not(.easy-view) .card-fancy,
  body.rnr-public-surface:not(.easy-view) .homepage-card,
  body.rnr-public-surface:not(.easy-view) .pricing-card,
  body.rnr-public-surface:not(.easy-view) .feature-card,
  body.rnr-public-surface:not(.easy-view) .inquiry-card,
  body.rnr-public-surface:not(.easy-view) .details-panel,
  body.rnr-public-surface:not(.easy-view) .calendar-panel,
  body.rnr-public-surface:not(.easy-view) .availability-panel {
    border-color: rgba(195, 164, 114, 0.09) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
  }

  body.rnr-public-surface:not(.easy-view) input:not([type="checkbox"]):not([type="radio"]),
  body.rnr-public-surface:not(.easy-view) select,
  body.rnr-public-surface:not(.easy-view) textarea,
  body.rnr-public-surface:not(.easy-view) button,
  body.rnr-public-surface:not(.easy-view) .btn,
  body.rnr-public-surface:not(.easy-view) .action-link {
    min-height: 2.75rem;
  }
}
