/* Pointer focus preserves the existing glass surfaces, including external dialogs. */
html[data-rio-input="pointer"] body.rio-designed :focus,
html[data-rio-input="pointer"] body.rio-designed :focus-visible{
  outline:none!important;
  outline-offset:0!important;
}
body.rio-designed :is(button,a[href],input,select,textarea,summary,[role="button"],[role="tab"],[tabindex]){
  -webkit-tap-highlight-color:transparent;
}

/* Dark amber stays legible on the white and amber surfaces of the catalog. */
body.rio-designed{--rio-keyboard-focus:#855600}
body.rio-designed #rio-design{--rio-keyboard-focus:#ffbd48}
body.rio-designed #rio-design.rd-light-mode,
body.rio-designed #rio-design .rd-light,
body.rio-designed #rio-design.rd-home-light :is(.rd-header,.rd-footer),
body.rio-designed #rio-design :is(.rd-legal-preview,.rd-photo-dialog){
  --rio-keyboard-focus:#855600;
}
body.rio-designed #rio-design .rd-single-booking{--rio-keyboard-focus:#ffbd48}

/* Tab navigation keeps an amber signal without replacing any glass shadows. */
html[data-rio-input="keyboard"] body.rio-designed :focus-visible{
  outline:2px solid var(--rio-keyboard-focus,#855600)!important;
  outline-offset:3px!important;
}
/* Composite controls show keyboard focus around their rounded glass wrapper. */
html[data-rio-input="keyboard"] body.rio-designed #rio-design :is(.rd-search input,#rd-mobile-category):focus-visible{
  outline:none!important;
  outline-offset:0!important;
}
html[data-rio-input="keyboard"] body.rio-designed #rio-design :is(.rd-search,.rd-mobile-category):focus-within{
  outline:2px solid var(--rio-keyboard-focus,#855600)!important;
  outline-offset:3px!important;
}

/* The first keyboard stop bypasses repeated navigation without taking up space. */
body.rio-designed #rio-design .rd-skip-link{
  position:fixed;inset-block-start:12px;inset-inline-start:16px;z-index:100001;
  display:block;max-width:calc(100vw - 32px);padding:12px 18px;
  transform:translateY(calc(-100% - 24px));
  border:1px solid #855600;border-radius:14px;background:#ffbd48;color:#080d18;
  font-size:15px;font-weight:600;line-height:1.5;box-shadow:0 4px 18px #080d1833;
  --rio-keyboard-focus:#855600;
}
body.rio-designed #rio-design .rd-skip-link:focus{transform:translateY(0)}
body.rio-designed #rio-design #rd-main{
  scroll-margin-block-start:calc(var(--rd-detail-header-offset,140px) + 16px);
}
