/* Component-local rules: safe on both current and generated legacy pages. */
.cjd-concierge,
.cjd-concierge__dialog { font-family: Figtree, 'Segoe UI', system-ui, sans-serif; color: #221f17; font-size: 15px; line-height: 1.5; text-align: start; }
.cjd-concierge { position: fixed; inset-inline-end: 18px; inset-block-end: 18px; z-index: 75; display: flex; align-items: stretch; max-width: calc(100vw - 36px); border-radius: 28px; background: #005439; color: #fbf5e8; box-shadow: 0 3px 18px #00352424; }
.cjd-concierge[hidden], .cjd-concierge__shortcuts[hidden] { display: none; }
.cjd-concierge__launcher, .cjd-concierge__dismiss, .cjd-concierge__close, .cjd-concierge__shortcut, .cjd-concierge__send, .cjd-concierge__contact, .cjd-concierge__handoff { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cjd-concierge__launcher { border: 0; border-radius: 28px 0 0 28px; background: transparent; color: inherit; padding: 11px 8px 11px 18px; font-weight: 650; font-size: 14px; min-height: 44px; }
.cjd-concierge__dismiss { display: grid; place-items: center; border: 0; border-radius: 0 28px 28px 0; background: transparent; color: #fbf5e8; padding: 8px 9px; font-size: 22px; line-height: 1; min-width: 44px; min-height: 44px; }
.cjd-concierge__dialog { position: fixed; inset: auto 18px 18px auto; margin: 0; width: min(420px, calc(100vw - 36px)); max-width: calc(100vw - 36px); max-height: calc(100dvh - 36px); padding: 0; border: 1px solid #00543938; border-radius: 18px; background: #fbf5e8; box-shadow: 0 16px 64px #00352433; overflow: hidden; box-sizing: border-box; }
.cjd-concierge__dialog:not([open]) { display: none; }
.cjd-concierge__dialog[open] { display: flex; flex-direction: column; }
.cjd-concierge__dialog::backdrop { background: #00352424; }
.cjd-concierge__header { display: flex; align-items: flex-start; gap: 14px; padding: 20px 18px 18px 22px; background: #005439; color: #fbf5e8; flex-shrink: 0; }
.cjd-concierge__heading { flex: 1; min-width: 0; }
.cjd-concierge__eyebrow { margin: 7px 0 0; font: 400 12px/1.4 Figtree, 'Segoe UI', sans-serif; letter-spacing: .015em; color: #deeddf; text-transform: none; }
.cjd-concierge__title { margin: 0; font: 550 23px/1.18 Figtree, 'Segoe UI', sans-serif; letter-spacing: -.02em; color: inherit; text-transform: none; }
.cjd-concierge__close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: -5px -6px 0 0; border: 1px solid #fbf5e853; border-radius: 50%; background: transparent; color: #fbf5e8; font-size: 25px; line-height: 1; }
.cjd-concierge__content { padding: 17px 20px 14px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.cjd-concierge__description { margin: 0 0 15px; color: #526056; font-size: 13px; line-height: 1.5; }
.cjd-concierge__messages { max-height: 32dvh; overflow-y: auto; overscroll-behavior: contain; padding: 0 3px 2px; scrollbar-width: thin; overflow-wrap: anywhere; }
.cjd-concierge__welcome { margin: 0 0 12px; font-size: 15px; line-height: 1.55; }
.cjd-concierge__message { padding: 12px 13px; margin: 0 0 12px; border-radius: 12px; background: #fffdf7; border: 1px solid #0054391f; }
.cjd-concierge__message--user { margin-inline-start: 22px; background: #e2ece4; border-color: transparent; }
.cjd-concierge__speaker { margin: 0 0 6px; font-size: 11px; color: #426452; font-weight: 700; letter-spacing: .035em; }
.cjd-concierge__answer { margin: 0; white-space: pre-wrap; line-height: 1.55; font-size: 14px; }
.cjd-concierge__sources { list-style: none; padding: 9px 0 0; margin: 9px 0 0; border-block-start: 1px solid #00543922; }
.cjd-concierge__sources li { padding: 2px 0; }
.cjd-concierge__sources a { color: #005439; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.cjd-concierge__shortcuts { display: flex; gap: 7px; flex-wrap: wrap; margin: 6px 0 17px; }
.cjd-concierge__shortcut { background: transparent; border: 1px solid #00543950; border-radius: 20px; color: #005439; padding: 7px 10px; font-size: 12px; min-height: 44px; }
.cjd-concierge__form { margin: 0; padding: 0; }
.cjd-concierge__label { display: block; color: #003524; font-size: 13px; font-weight: 650; margin-block-end: 6px; }
.cjd-concierge__input { display: block; width: 100%; max-width: 100%; box-sizing: border-box; resize: vertical; min-height: 70px; max-height: 130px; background: #fffdf7; color: #221f17; border: 1px solid #0054396b; border-radius: 10px; padding: 10px 12px; font: 16px/1.45 Figtree, 'Segoe UI', system-ui, sans-serif; }
.cjd-concierge__input::placeholder { color: #677168; opacity: 1; }
.cjd-concierge__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 9px 0 0; }
.cjd-concierge__counter { font-size: 11px; color: #677168; }
.cjd-concierge__send { padding: 9px 16px; min-height: 44px; border: 1px solid #005439; border-radius: 22px; background: #005439; color: #fbf5e8; font-size: 13px; font-weight: 650; }
.cjd-concierge__send:disabled, .cjd-concierge__shortcut:disabled { opacity: .6; cursor: wait; }
.cjd-concierge__status { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #426452; }
.cjd-concierge__status:empty { display: none; }
.cjd-concierge__status[data-state=error] { color: #8b3a1e; }
.cjd-concierge__privacy { margin: 12px 0 0; font-size: 11px; line-height: 1.5; color: #647066; }
.cjd-concierge__footer { display: flex; align-items: center; flex-wrap: wrap; flex-shrink: 0; gap: 9px 14px; justify-content: space-between; border-block-end: 1px solid #00543926; padding: 12px 20px; background: #f3f1e5; }
.cjd-concierge__contact, .cjd-concierge__handoff { border: 0; background: transparent; color: #005439; padding: 5px 0; min-height: 44px; font-size: 13px; font-weight: 650; text-align: start; text-decoration: underline; text-underline-offset: 3px; }
.cjd-concierge__handoff { display: flex; align-items: center; margin-block-start: 10px; }
.cjd-concierge__contact { border: 1px solid #005439; border-radius: 8px; padding: 9px 12px; min-height: 44px; text-decoration: none; line-height: 1.4; }
.cjd-concierge__contact:hover { background: #e2ece4; }
.cjd-concierge__email-details { min-width: 0; }
.cjd-concierge__email { color: #005439; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.cjd-concierge__email-note { margin: 3px 0 0; color: #526056; font-size: 10px; line-height: 1.4; }
.cjd-concierge :focus-visible, .cjd-concierge__dialog :focus-visible { outline: 3px solid #cf8b26; outline-offset: 3px; }
@media (max-width: 520px) {
  .cjd-concierge { inset-inline-end: 12px; inset-block-end: max(12px, env(safe-area-inset-bottom)); max-width: calc(100vw - 24px); }
  .cjd-concierge__launcher { font-size: 13px; padding-inline-start: 14px; min-height: 44px; }
  .cjd-concierge__dialog { inset: auto 10px max(10px, env(safe-area-inset-bottom)) 10px; width: auto; max-width: none; max-height: calc(100dvh - 20px - env(safe-area-inset-bottom)); border-radius: 15px; }
  .cjd-concierge__header { padding: 18px; }
  .cjd-concierge__title { font-size: 22px; }
  .cjd-concierge__footer { padding: 11px 15px; gap: 8px 10px; }
  .cjd-concierge__contact { padding: 8px 10px; }
  .cjd-concierge__content { padding: 14px 15px 12px; }
  .cjd-concierge__messages { max-height: 29dvh; }
}
/* Buyer concierge: a quiet luxury control that never competes with the enquiry CTA. */
.cjd-concierge{z-index:74}
.cjd-concierge__launcher{border-radius:2px;background:#142c24;border:1px solid rgba(232,239,222,.56);box-shadow:0 10px 28px rgba(20,44,36,.16);font-size:11px;letter-spacing:1.1px;text-transform:uppercase;padding:10px 14px;min-height:40px}
.cjd-concierge__dismiss{border-radius:2px;background:#f5f1e8;color:#142c24;border:1px solid #d6cfc1;width:44px;height:44px;box-shadow:0 4px 12px rgba(20,44,36,.12)}
.cjd-concierge__dialog{border-radius:2px;box-shadow:0 24px 70px rgba(12,32,22,.25)}
.cjd-concierge__title{font-family:var(--rb-serif,Newsreader,Georgia,serif);font-size:clamp(23px,3vw,32px);line-height:1.05;letter-spacing:-.4px}
.cjd-concierge__eyebrow{letter-spacing:1.5px;text-transform:uppercase}
/* Keep the quiet concierge clear of the product-page buying bar. The bar is
   65px tall and sits 22px above the viewport edge, so the launcher needs a
   measured air gap on desktop as well as on touch screens. */
body.rb-product .cjd-concierge{inset-block-end:100px}
body.rb-product .rb-product-sticky-cta{inset-block-end:22px}
@media(max-width:767px){.cjd-concierge{inset-inline-end:12px;inset-block-end:max(70px,calc(70px + env(safe-area-inset-bottom)));max-width:calc(100vw - 24px)}body.rb-product .cjd-concierge{inset-block-end:max(112px,calc(112px + env(safe-area-inset-bottom)))}.cjd-concierge__launcher{min-height:38px;padding:9px 12px;font-size:10px}.cjd-concierge__dialog{inset:auto 10px max(10px,env(safe-area-inset-bottom)) 10px}.cjd-concierge__title{font-size:25px}}
