/* Servicing prices: shared Rolex containers and typography provide the page layout. */
.rsp:not(.rolex-page-content),
.rolex-page-content.rsp > :not(.rlxv7-green-gradient):not(.keep-exploring):not(.rolex-footer-nav) { color: #452c1e; }
.rsp *, .rsp *::before, .rsp *::after { box-sizing: border-box; }
.rsp picture, .rsp picture img { display: block; width: 100%; }
.rsp picture img { height: auto; }

.rsp-models { padding-top: 0; padding-bottom: 60px; }
.rsp-model-card { padding: 60px 20px; }
.rsp-reference { font-weight: 700; margin: 0 0 30px; }
.rsp-price-row { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(69, 44, 30, .2); padding: 22px 0; }
.rsp-price-row ul { flex: 1; min-width: 0; padding: 0; margin: 0; list-style: none; columns: 2; column-gap: 40px; }
.rsp .rsp-price-row li { break-inside: avoid; padding-left: 0; font-size: 15px; line-height: 1.5; }
.rsp .rsp-price-row > p,
.rsp .rsp-model-card > .rlxv7-box-s > p { font-size: 15px; line-height: 1.5; }
.rsp .rsp-price-row li::before { content: none; }
.rsp-price-row small { font-size: 13px; }
.rsp-price-row p { margin: 0; }
.rsp-price { flex-shrink: 0; white-space: nowrap; font-weight: 700; }
.rsp-restoration { text-align: center; padding-top: 36px; }
.rsp-restoration img { display: block; width: 100%; max-width: 100px; height: auto; margin: auto; }
.rsp .rsp-restoration > h3 { margin-bottom: 1em; }

/* Reuse the Rolex price-information icon while keeping the disclosure operable without JavaScript. */
.rsp .rsp-info.rolex-model__price-tooltip { display: inline-block; position: relative; vertical-align: middle; font-weight: 400; }
.rsp .rsp-info[open] { z-index: 20; }
.rsp .rsp-info summary { display: inline-flex; cursor: pointer; list-style: none; vertical-align: middle; }
.rsp .rsp-info summary::-webkit-details-marker { display: none; }
.rsp .rsp-info summary::marker { content: ''; }
.rsp .rsp-info summary:focus-visible { outline: 2px solid #006039; outline-offset: 3px; }
.rsp .rsp-info-content { position: absolute; z-index: 20; top: 130%; right: 0; width: min(400px, calc(100vw - 40px)); max-height: 70vh; overflow: auto; padding: 20px; border-radius: 5px; background: white; color: black; box-shadow: 0 4px 22px #0003; font-size: 16px; line-height: 1.5; white-space: normal; }
.rsp .rsp-reference .rsp-info-content { right: auto; left: 0; }
.rsp .rsp-info-content strong { font-size: 20px; }
.rsp .rsp-info-content img { display: block; width: 100%; max-width: 230px; height: auto; margin: 16px auto 0; }
/* An open accordion needs room for its information panel. */
.rsp-services .accordion__item.active .accordion__content { height: auto !important; overflow: visible; }

.rsp-services h2 { margin-bottom: .6em; }

@media (min-width: 640px) {
  .rsp-models { padding-bottom: 90px; }
  .rsp-model-card { padding: 90px 40px; }
}
@media (max-width: 899px) {
  .rsp .rsp-info-content, .rsp .rsp-reference .rsp-info-content { position: fixed; top: 15vh; left: 20px; right: 20px; width: auto; max-height: 70vh; }
}
@media (max-width: 639px) {
  .rsp-price-row { gap: 10px; }
  .rsp-price-row ul { columns: 1; }
}
