/* Shared TR/EN Rolex contact locator. Scoped to avoid changing other contact pages. */
#Rolex { --rlc-green:#127749; --rlc-gold:#a37e2c; --rlc-brown:#452c1e; }
#Rolex .rlc { position:relative; display:flex; width:100%; height:80vh; min-height:600px; color:var(--rlc-brown); background:#fff; margin:0 0 30px; font-size:16px; line-height:1.6; }
.rlc, .rlc * { box-sizing:border-box; }
.rlc [hidden] { display:none !important; }
.rlc .rlc-icons { position:absolute; width:0; height:0; overflow:hidden; }
.rlc button, .rlc a { -webkit-tap-highlight-color:transparent; }
.rlc button { font-family:inherit; cursor:pointer; }
.rlc button:focus-visible, .rlc a:focus-visible { outline:3px solid var(--rlc-green); outline-offset:3px; }
.rlc .rlc-sidebar { position:relative; width:35%; height:100%; display:flex; flex-direction:column; background:#fff; }
.rlc .rlc-filters { display:flex; flex-shrink:0; gap:10px; padding:30px; border-bottom:1px solid #e9e9e9; flex-wrap:wrap; }
.rlc .rlc-filter { display:inline-flex; align-items:center; border:1px solid var(--rlc-green); border-radius:24px; padding:8px 16px; background:#fff; color:var(--rlc-green); font-size:14px; line-height:1.3; font-weight:700; }
.rlc .rlc-filter[aria-pressed="true"] { background:var(--rlc-green); color:white; }
.rlc .rlc-filter-service { color:var(--rlc-gold); border-color:var(--rlc-gold); }
.rlc .rlc-filter-service[aria-pressed="true"] { background:var(--rlc-gold); color:#fff; }
.rlc .rlc-store-list { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; overscroll-behavior:contain; }
.rlc .rlc-store { padding:30px; border-bottom:1px solid #e9e9e9; cursor:pointer; }
.rlc .rlc-store:hover, .rlc .rlc-store.is-selected { background:#f9f7f4; }
#Rolex .rlc-badge { display:inline-block; width:fit-content; align-self:flex-start; padding:4px 8px; margin-bottom:8px; border-radius:4px; background:#f4f4f4; color:var(--rlc-green); font-size:12px; font-weight:700; line-height:1.5; }
#Rolex .rlc-badge-service { color:var(--rlc-gold); }
#Rolex .rlc .rlc-store-title { margin:0 0 20px; font-size:28px; font-weight:700; line-height:1.2; text-transform:none; letter-spacing:0; }
.rlc .rlc-store-title button { display:block; text-align:left; width:100%; border:0; background:none; padding:0; color:inherit; font:inherit; }
.rlc address { font-style:normal; line-height:1.6; font-size:16px; margin:0 0 20px; }
.rlc .rlc-today { display:flex; flex-wrap:wrap; gap:6px 12px; margin:20px 0; font-size:14px; }
.rlc .rlc-today strong { font-weight:700; }
.rlc .rlc-today:empty { display:none; }
.rlc .rlc-actions { display:flex; gap:8px; flex-wrap:nowrap; }
.rlc .rlc-actions a { display:inline-flex; justify-content:center; align-items:center; flex:1 1 0; min-width:0; gap:8px; padding:10px 8px; min-height:40px; border-radius:24px; background:#f4f4f4; color:var(--rlc-brown); font-size:13px; font-weight:700; line-height:1.2; text-decoration:none; }
.rlc .rlc-actions a:hover { background:#e7f3ec; color:var(--rlc-green); }
.rlc .rlc-actions svg { width:14px; height:14px; flex:none; fill:currentColor; }
.rlc .rlc-empty { padding:30px; }
.rlc .rlc-map-panel { position:relative; width:65%; height:100%; background:#e5e3df; }
.rlc .rlc-map { width:100%; height:100%; }
.rlc .rlc-map-status { position:absolute; top:24px; left:24px; right:24px; width:fit-content; max-width:calc(100% - 48px); padding:12px 18px; background:white; border-radius:4px; box-shadow:0 2px 10px #0002; margin:0 auto; z-index:1; font-size:14px; }
.rlc .rlc-list-toolbar, .rlc .rlc-toggle { display:none; }
.rlc .rlc-detail { position:absolute; inset:0; margin:0; padding:0; width:100%; height:100%; max-width:none; max-height:none; border:0; background:#fff; color:var(--rlc-brown); z-index:5; overflow:auto; overscroll-behavior:contain; }
.rlc .rlc-detail:not([open]) { display:none; }
.rlc .rlc-detail[open] { display:block; }
.rlc .rlc-detail-image { display:block; width:100%; height:240px; object-fit:cover; }
.rlc .rlc-close { position:absolute; top:20px; right:20px; width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:#222; font-size:28px; line-height:1; display:grid; place-items:center; box-shadow:0 1px 5px #0002; z-index:1; }
.rlc .rlc-detail-body { padding:30px; }
#Rolex .rlc #rlc-detail-title { font-size:32px; font-weight:700; line-height:1.15; margin:0 0 20px; text-transform:none; letter-spacing:0; }
.rlc .rlc-hours { list-style:none; margin:0 0 24px; padding:0; }
.rlc .rlc-hours li { display:flex; justify-content:space-between; gap:16px; padding:6px 0; font-size:14px; }
.rlc .rlc-hours li.is-today { color:var(--rlc-green); font-weight:700; }
.rlc .rlc-detail-actions { flex-direction:column; align-items:stretch; }
.rlc .rlc-detail-actions a { justify-content:flex-start; flex:none; background:transparent; padding:8px 0; font-size:14px; }
.rlc .rlc-detail-actions a svg { box-sizing:content-box; padding:13px; background:#f4f4f4; border-radius:50%; }
.rlc .rlc-detail-actions a:last-child { background:var(--rlc-green); color:white; justify-content:center; min-height:48px; padding:12px 18px; margin-top:8px; }
.rlc .rlc-detail-actions a:last-child svg { display:none; }
.rlc .rlc-detail-actions a:last-child::after { content:'›'; font-size:22px; margin-left:4px; }
.rlc .rlc-detail-map { display:none; }
.rlc .rlc-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:767px) {
  #Rolex .rlc { height:auto; min-height:0; flex-direction:column; }
  .rlc .rlc-sidebar { width:100%; height:auto; order:2; }
  .rlc .rlc-map-panel { width:100%; height:calc(100vh - 210px); height:calc(100dvh - 210px); min-height:58vh; order:1; }
  .rlc .rlc-filters { padding:16px; flex-wrap:nowrap; overflow-x:auto; gap:8px; }
  .rlc .rlc-filter { flex-shrink:0; white-space:nowrap; font-size:13px; padding:8px 14px; }
  .rlc .rlc-store-list { overflow:visible; }
  .rlc .rlc-store { padding:20px 16px; }
  .rlc .rlc-actions { flex-wrap:wrap; }
  .rlc .rlc-actions a { flex:0 1 auto; }
  .rlc.is-ready:not(.is-list-open) .rlc-store-list { display:none; }
  .rlc.is-ready .rlc-toggle { display:inline-flex; align-items:center; gap:8px; border:0; background:white; color:var(--rlc-green); border-radius:24px; padding:10px 14px; font-size:16px; font-weight:700; }
  .rlc .rlc-map-toggle { position:absolute; bottom:34px; right:12px; z-index:2; box-shadow:0 2px 10px #0003; }
  .rlc .rlc-map-toggle::after { content:'▴'; }
  .rlc.is-list-open .rlc-map-panel { display:none; }
  .rlc.is-list-open .rlc-list-toolbar { display:flex; justify-content:flex-end; padding:8px 16px 0; }
  .rlc.is-list-open .rlc-list-toolbar button::after { content:'▾'; }
  .rlc .rlc-detail { position:fixed; width:100%; height:100%; height:100dvh; z-index:12000; }
  .rlc .rlc-detail::backdrop { background:#0006; }
  .rlc .rlc-detail-image { height:38vh; }
  .rlc .rlc-detail-body { padding:20px 18px 24px; }
  #Rolex .rlc #rlc-detail-title { font-size:28px; }
  .rlc .rlc-detail-map { display:block; height:42vh; width:100%; background:#e5e3df; }
  .rlc .rlc-detail-actions { flex-direction:row; flex-wrap:wrap; gap:8px; }
  .rlc .rlc-detail-actions a, .rlc .rlc-detail-actions a:last-child { padding:10px 14px; min-height:40px; margin:0; font-size:13px; background:#f4f4f4; }
  .rlc .rlc-detail-actions a:last-child { background:var(--rlc-green); }
  .rlc .rlc-detail-actions a svg { box-sizing:border-box; padding:0; background:none; border-radius:0; }
  .rlc .rlc-detail-actions a:last-child svg { display:block; }
  .rlc .rlc-detail-actions a:last-child::after { display:none; }
  body.rlc-modal-open { overflow:hidden; }
}
