/* Shared interaction details; keep the existing Volt, Void and Oswald identity. */
body :is(.vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock, .vg-help > a) {
  min-height: 44px;
  border-radius: 0;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  transition: transform 140ms ease-out, background-color 140ms ease-out, color 140ms ease-out, border-color 140ms ease-out;
}
body :is(.vrcg-vhero-action, .vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock, .btn-signal, .vg-help > a, .vg-close-btn, .filter-toggle-btn, .filter-tag, .view-toggle-btn) {
  touch-action: manipulation;
  cursor: pointer;
}
body .vrcg-vhero-action {
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}
body :is(.vrcg-vhero-action, .vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock, .btn-signal, .vg-help > a, .vg-close-btn, .filter-toggle-btn, .filter-tag, .view-toggle-btn):active {
  transform: scale(.98) !important;
  transition-duration: 80ms !important;
}
body :is(.vrcg-vhero-action, .vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock):focus-visible {
  outline: 3px solid currentColor !important;
  outline-offset: -5px !important;
}
body .vrcg-action {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: #E8E8E2;
  color: #151515 !important;
  border: 1px solid #E8E8E2;
  font: 600 15px 'Oswald', sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
}
body .vrcg-action.secondary { background: #151515; color: #D2D3D6 !important; border-color: #505258; }
body .vrcg-action[hidden] { display: none; }
body :is(.act-card, .vrcg-case-card, .offering-card, .vg-case-card) {
  border-radius: 4px;
  transition: transform 180ms ease-out, border-color 180ms ease-out, box-shadow 180ms ease-out;
}
body :is(.act-card, .vrcg-case-card, .offering-card, .vg-case-card):focus-visible,
body .more-acts a:focus-visible {
  outline: 3px solid #F3FF00;
  outline-offset: 4px;
}
body :is(.act-card, .vrcg-case-card, .offering-card):hover { transform: none; box-shadow: none; }
body .act-card:hover .act-card-img img, body .vg-card:hover .vg-thumb { transform: none; }
body .act-card-img img { transition: transform 180ms ease-out; }
body :is(.act-card, a.vrcg-case-card, a.offering-card, .vg-case-card, .vg-card):active {
  border-color: #F3FF00;
  opacity: .88;
}
body .vrcg-case-card { border: 1px solid #ffffff26; }
body .vrcg-case-card::before, body .vrcg-case-card::after { border-radius: 0; }
body .act-card-body { display: flex; flex-direction: column; flex: 1; }
body .act-card-cta { margin-top: auto; }
body .act-card-tag { font-size: .75rem; letter-spacing: .1em; color: #FF6B86; }
body .act-card-desc { color: #B8B8C0; font-size: 1rem; }
body .featured-eyebrow { font-size: .75rem; }
body .more-acts a.more-link { min-height: 44px; display: inline-flex; align-items: center; font-size: .8rem; transition: border-color 160ms, color 160ms; }
body .contact-page :is(.service-label, .form-label, .contact-info-label) { font-size: .75rem; color: #B8B8C0; }
body .contact-page .service-desc { font-size: .8rem; line-height: 1.5; color: #B8B8C0; }
body .contact-page .service-number { font-size: .7rem; }
body .contact-page .service-card { min-height: 48px; gap: 4px; }
body .service-option input:focus-visible + .service-card { outline: 3px solid #F3FF00; outline-offset: 3px; }
body .contact-page :is(.form-input, .form-textarea)::placeholder { color: #A8A8B2; }
body details.faq-item .faq-toggle { flex-shrink: 0; }
body details.faq-item .faq-answer { max-height: none; overflow: visible; }
body .vrcg-compare { margin-top: 32px; border-radius: 4px; }
body .vrcg-compare summary { font-size: 1.2rem; }
body .vg-close-btn { min-height: 44px; }
body .vg-lightbox { --vg-volt: #F3FF00; }
body .vg-lightbox[open] { animation: vrcg-player-enter 180ms ease-out; }
@keyframes vrcg-player-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
  body :is(.act-card, .vrcg-case-card, a.offering-card, .vg-case-card):hover { transform: translateY(-3px); border-color: #F3FF00; box-shadow: 0 8px 20px #0004; }
  body .act-card:hover .act-card-img img, body .vg-card:hover .vg-thumb { transform: scale(1.025); }
  body .vrcg-action:hover { background: #fff; color: #050505 !important; border-color: #fff; }
  body .vrcg-action.secondary:hover { background: #232323; color: #fff !important; border-color: #8B8B8B; }
}
@media (max-width: 600px) {
  body .vrcg-vhero-stats { gap: 12px !important; }
  body .vrcg-vhero-stat { min-width: 0 !important; }
  body .vrcg-vhero-stat-label { font-size: .75rem !important; letter-spacing: 0 !important; }
  body .vrcg-vhero-actions { gap: 10px !important; }
  body .vrcg-vhero-action { flex-basis: 100% !important; max-width: 350px !important; }
  body .contact-page .service-card { flex-wrap: wrap; }
  body .vg-player-header { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.vrcg-vhero-action, .vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock, .btn-signal, .vg-help > a, .vg-close-btn, .filter-toggle-btn, .filter-tag, .view-toggle-btn, .act-card, .vrcg-case-card, .offering-card, .vg-case-card, .act-card-img img, .vg-thumb, .faq-toggle, .v-circle, .vg-lightbox) {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
  body :is(.vrcg-vhero-action, .vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn, .submit-btn, .pricing-link, .btn-vlock, .btn-signal, .vg-help > a, .vg-close-btn, .filter-toggle-btn, .filter-tag, .view-toggle-btn):active { opacity: .8; }
}

/* Long headings remain readable when visitors enlarge their text. */
main h1, main h2, main h3 { overflow-wrap: anywhere; }

/* Yellow marks the brand and focus states; controls and metadata stay quiet. */
body a:is(.vrcg-action, .vrcg-nav-cta, .vrcg-footer-cta-btn) {
  clip-path: none;
  border-radius: 4px;
}
body :is(.vrcg-nav-cta, .vrcg-footer-cta-btn) {
  background: #E8E8E2;
  border-color: #E8E8E2;
  color: #151515;
}
body :is(.vrcg-nav-cta, .vrcg-footer-cta-btn):hover {
  background: #fff;
  border-color: #fff;
  color: #151515;
}
body .vrcg-footer-cta h2 { color: #E8E8E2; }
body #show-container :is(.badge, .badge-outline) {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  background: #191A1C;
  border: 1px solid #414349;
  color: #CBCDD2;
  clip-path: none;
  border-radius: 4px;
}
body #show-container .badge-outline { background: transparent; border-color: #34363B; color: #B2B5BD; }
body #show-container :is(.badge, .badge-outline):hover { background: #27282C; color: #fff; border-color: #777B84; }
body #show-container :is(.badge, .badge-outline):focus-visible { outline: 2px solid #F3FF00; outline-offset: 3px; }
body #show-container .dj-formats-eyebrow { color: #B8BB86; }
body #show-container .dj-format-label { color: #A8ABB3; }
body #show-container :is(.dj-format-watch, .dj-formats-links a) { color: #E0E1E4; }
body #show-container :is(.dj-format-watch, .dj-formats-links a):hover { color: #fff; }
body .vrcg-mobile-booking[hidden] { display: none; }
