/* Compact text-first services stay in the existing advertisement copy, immediately after its paragraph. */
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap:8px;
  width:100%; max-width:100%; box-sizing:border-box; margin:10px 0 0; padding:0; border:0; background:none;
}
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut {
  display:flex; align-items:center; justify-content:flex-start; box-sizing:border-box; width:100%; min-width:0; min-height:44px;
  margin:0; padding:7px 10px; border:1px solid #c2d9cc; border-radius:8px; box-shadow:none;
  background:#fff; color:#174c3b; font:400 16px/1.25 system-ui, sans-serif; text-align:left; white-space:normal; cursor:pointer;
}
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut:hover { background:#f2f8f4; border-color:#8db59c; }
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut:focus-visible { outline:3px solid #d9a64c; outline-offset:2px; }
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut > .rvv-office-shortcut-copy {
  display:flex; flex:1 1 auto; flex-direction:column; min-width:0; gap:2px; text-align:left;
}
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut > .rvv-office-shortcut-copy > .rvv-office-shortcut-title {
  display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  color:#174c3b; font-size:16px; font-weight:650; line-height:1.18; overflow-wrap:anywhere;
}
#visa-app .rvv-office-ad-copy > .rvv-office-shortcuts > .rvv-office-shortcut > .rvv-office-shortcut-copy > .rvv-office-shortcut-note {
  display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:1;
  color:#485b52; font-size:13px; font-weight:400; line-height:1.25; overflow-wrap:anywhere;
}

/* Keep only the existing single legacy chat dialog geometry/typography refinement. */
dialog.rvv-office-chat {
  box-sizing: border-box; width: min(720px, calc(100vw - 40px)); max-width: min(720px, calc(100vw - 40px));
  height: min(780px, calc(100vh - 48px)); height: min(780px, calc(100dvh - 48px));
  max-height: min(780px, calc(100vh - 48px)); max-height: min(780px, calc(100dvh - 48px)); min-height: 0;
  padding: 0; overflow: hidden; font-size: 17px; line-height: 1.6;
}
dialog.rvv-office-chat[open] { display: flex; flex-direction: column; min-height: 0; }
dialog.rvv-office-chat > .rvv-office-chat-head { flex: 0 0 auto; }
dialog.rvv-office-chat > .rvv-office-chat-head h2 { font-size: 22px; line-height: 1.3; }
dialog.rvv-office-chat > .rvv-office-chat-head span { font-size: 14px; line-height: 1.5; }
dialog.rvv-office-chat > .rvv-office-chat-head > .rvv-office-close {
  box-sizing: border-box; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px;
}
dialog.rvv-office-chat > .rvv-office-chat-scroll {
  box-sizing: border-box; flex: 1 1 auto; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto;
  overscroll-behavior: contain; font-size: 17px; line-height: 1.6;
}
dialog.rvv-office-chat .rvv-office-day { font-size: 14px; line-height: 1.5; }
dialog.rvv-office-chat .rvv-office-bubble { font-size: 17px; line-height: 1.6; }
dialog.rvv-office-chat .rvv-office-mine { font-size: 16px; line-height: 1.55; }
dialog.rvv-office-chat .rvv-office-options button {
  box-sizing: border-box; min-height: 44px; padding: 10px 12px; font-size: 16px; line-height: 1.4;
}
dialog.rvv-office-chat .rvv-office-country-code { font-size: 13px; }
dialog.rvv-office-chat .rvv-office-progress,
dialog.rvv-office-chat .rvv-office-select-label,
dialog.rvv-office-chat .rvv-office-phone-form > label,
dialog.rvv-office-chat .rvv-office-tunis-phone b,
dialog.rvv-office-chat .rvv-office-back,
dialog.rvv-office-chat .rvv-office-check { font-size: 16px; line-height: 1.5; }
dialog.rvv-office-chat .rvv-office-select-label select,
dialog.rvv-office-chat .rvv-office-tunis-phone input { font-size: 17px; line-height: 1.5; }
dialog.rvv-office-chat .rvv-office-submit-note,
dialog.rvv-office-chat .rvv-office-notice,
dialog.rvv-office-chat .rvv-office-result:not(:empty) { font-size: 15px; line-height: 1.6; }
dialog.rvv-office-chat .rvv-office-send { min-height: 44px; font-size: 16px; line-height: 1.4; }
dialog.rvv-office-chat > .rvv-office-chat-foot { flex: 0 0 auto; padding: 10px 14px; font-size: 15px; line-height: 1.5; }

@media (max-width: 640px) {
  #visa-app .rvv-office-ad-copy > .rvv-office-shortcuts { grid-template-columns:minmax(0, 1fr); }
  dialog.rvv-office-chat {
    inset: 0; margin: 0; width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh;
    height: 100dvh; max-height: 100dvh; border-radius: 0;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  dialog.rvv-office-chat > .rvv-office-chat-scroll { padding: 16px 18px 20px; }
}

/* 1.2.2: keep the original avatar beside only the ad heading; all copy and shortcuts use full rows. */
#visa-app .rvv-office-ad {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) max-content;
  grid-template-areas:
    "portrait kicker cta"
    "portrait title cta"
    "description description description"
    "shortcuts shortcuts shortcuts";
  align-items: center;
  column-gap: 22px;
  row-gap: 0;
}
#visa-app .rvv-office-ad > .rvv-office-ad-copy { display: contents; }
#visa-app .rvv-office-ad > .rvv-office-ad-portrait { grid-area: portrait; min-width: 0; }
#visa-app .rvv-office-ad > .rvv-office-ad-copy > .rvv-office-ad-kicker { grid-area: kicker; min-width: 0; }
#visa-app .rvv-office-ad > .rvv-office-ad-copy > h2 { grid-area: title; min-width: 0; }
#visa-app .rvv-office-ad > .rvv-office-ad-copy > p { grid-area: description; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
#visa-app .rvv-office-ad > .rvv-office-ad-copy > .rvv-office-shortcuts { grid-area: shortcuts; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
#visa-app .rvv-office-ad > .rvv-office-ad-cta { grid-area: cta; min-width: 0; max-width: 100%; box-sizing: border-box; }

@media (max-width: 700px) {
  #visa-app .rvv-office-ad {
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      "portrait kicker"
      "portrait title"
      "description description"
      "shortcuts shortcuts"
      "cta cta";
    column-gap: 12px;
    row-gap: 0;
  }
  #visa-app .rvv-office-ad > .rvv-office-ad-portrait { align-self: start; }
  #visa-app .rvv-office-ad > .rvv-office-ad-cta { width: 100%; margin-top: 8px; }
}
/* 1.2.4: destination flags are embedded in the existing chat choices only. */
dialog.rvv-office-chat .rvv-office-country-options button { display:flex; align-items:center; gap:10px; }
dialog.rvv-office-chat .rvv-office-country-icon { display:block; flex:0 0 30px; width:30px; height:20px; border-radius:2px; overflow:hidden; }
dialog.rvv-office-chat .rvv-office-other-icon { fill:none; stroke:currentColor; stroke-width:1.6; }
