.aem-chat-widget { --aem-chat-width: 46rem; --aem-chat-height: 800px; position: fixed; right: 1rem; bottom: 1rem; z-index: 999999 !important; width: auto; max-width: calc(100vw - 2rem); max-height: calc(100vh - 2rem); color: #18212b; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; text-align: left !important; display: flex; flex-direction: column; align-items: flex-end; }
.aem-chat-widget[data-open="true"] { width: min(var(--aem-chat-width), calc(100vw - 2rem)); }
/* ARIM search shows device cards plus a condition sidebar per turn, so its
   default width is ~1.5x the other modes' (46rem). A manual drag-resize
   (applySize() in JS) sets --aem-chat-width inline on this element, which
   still wins over this attribute-selector rule -- this is only the default. */
.aem-chat-widget[data-mode="arim"] { --aem-chat-width: 69rem; }
.aem-chat-widget button, .aem-chat-widget textarea { font: inherit; }
.aem-chat-widget__toggle { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; width: auto; max-width: max-content; padding: .45rem .95rem .45rem .6rem; border: 0; border-radius: 999px; background: #075a9d; color: #fff; font-size: .92rem; font-weight: 700; letter-spacing: .01em; cursor: pointer; box-shadow: 0 .25rem .85rem rgba(3, 53, 92, .28); text-align: center; transition: background .15s ease, box-shadow .15s ease, transform .15s ease; white-space: nowrap; }
.aem-chat-widget__toggle:hover, .aem-chat-widget__toggle:focus-visible { background: #064b83; box-shadow: 0 .35rem 1.1rem rgba(3, 53, 92, .38); transform: translateY(-1px); }
/* While the panel is open the toggle was a full-width "チャットを閉じる" bar
   stacked above the header -- a second close control directly above the ✕
   that already sits in the header row. Hide it; it returns as the launcher
   as soon as the panel closes. */
.aem-chat-widget[data-open="true"] .aem-chat-widget__toggle { display: none; }
.aem-chat-widget__toggle-char { width: 1.85rem; height: 1.85rem; border-radius: 50%; background: #ffffff; border: 1px solid #b3d1ed; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.aem-chat-widget[data-character-enabled="false"] .aem-chat-widget__toggle-char { display: none !important; }
.aem-chat-widget[data-character-enabled="true"] .aem-chat-widget__toggle[data-has-char="true"] [data-aem-toggle-fallback-icon] { display: none !important; }
.aem-chat-widget__toggle-char img { width: 100%; height: 100%; object-fit: contain; }
.aem-chat-widget__toggle-icon { font-size: 1.05rem; line-height: 1; }
.aem-chat-widget__panel { width: 100%; position: relative; display: flex; flex-direction: column; height: min(var(--aem-chat-height), calc(100vh - 6rem)); max-height: calc(100vh - 6rem); margin-top: .5rem; border: 1px solid #b8c5d0; border-radius: .625rem; background: #fff; box-shadow: 0 .5rem 1.5rem rgba(15, 23, 42, .22); overflow: hidden; text-align: left; }
.aem-chat-widget__panel[hidden], .aem-chat-widget__consent[hidden], .aem-chat-widget__debug[hidden], .aem-chat-widget__settings-popover[hidden], .aem-chat-widget__evidence-modal[hidden] { display: none !important; }
.aem-chat-widget__panel header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem .85rem .55rem .85rem; background: #e7f2fb; border-bottom: 1px solid #d0deeb; }
.aem-chat-widget__header-char { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #ffffff; border: 1px solid #b3d1ed; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.aem-chat-widget[data-character-enabled="false"] .aem-chat-widget__header-char { display: none; }
.aem-chat-widget__header-char img { width: 100%; height: 100%; object-fit: contain; }
.aem-chat-widget__header-title { display: inline-flex; align-items: center; gap: .6rem; flex: 1 1 auto; }
.aem-chat-widget__header-name { font-weight: 700; color: #073d67; font-size: .92rem; }
.aem-chat-widget [data-aem-chat-status] { display: inline-flex; align-items: center; gap: .35rem; padding: .18rem .45rem; border-radius: 999px; background: #fff; color: #123b59; font-size: .75rem; font-weight: 700; border: 1px solid #c5d9e8; text-align: left; }
.aem-chat-widget[data-state="generating"] [data-aem-chat-status] { background: #075a9d; color: #fff; border-color: #075a9d; }
.aem-chat-widget__spinner { display: none; width: .8rem; height: .8rem; border: .14rem solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: aem-chat-spin .7s linear infinite; }
.aem-chat-widget[data-state="generating"] .aem-chat-widget__spinner { display: inline-block; }
@keyframes aem-chat-spin { to { transform: rotate(360deg); } }
.aem-chat-widget__header-controls { display: inline-flex; align-items: center; gap: .3rem; }
/* Header controls.
   These were effectively invisible on the live site for two independent
   reasons, both fixed here:
     1. the theme ships `input[type="submit"], button, .button { color: #fff }`,
        which won over these rules because they never set a colour of their
        own -- white icons on the #e7f2fb header. Every control now states its
        own colour, and the rules are prefixed with `.aem-chat-widget` so the
        theme loses on specificity.
     2. the icons were emoji, which WordPress rewrites into <img class="emoji">;
        inside these fixed-width flex buttons that image computed to width:0.
        The markup now uses inline SVG (see aem-chat-widget.php).
   They also carry a visible resting surface now, so the affordance is
   discoverable without hovering. */
.aem-chat-widget .aem-chat-widget__header-reroll-btn,
.aem-chat-widget .aem-chat-widget__settings-btn,
.aem-chat-widget .aem-chat-widget__minimize { width: 1.85rem; height: 1.85rem; padding: 0; border: 1px solid #b7d3ea; border-radius: .35rem; background: #fbfdff; color: #0b4b7d; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.aem-chat-widget .aem-chat-widget__header-reroll-btn:hover, .aem-chat-widget .aem-chat-widget__header-reroll-btn:focus-visible,
.aem-chat-widget .aem-chat-widget__settings-btn:hover, .aem-chat-widget .aem-chat-widget__settings-btn:focus-visible,
.aem-chat-widget .aem-chat-widget__minimize:hover, .aem-chat-widget .aem-chat-widget__minimize:focus-visible { background: #cfe5f5; border-color: #7fb2d9; color: #073d67; }
.aem-chat-widget .aem-chat-widget__minimize { font-size: 1rem; font-weight: 700; line-height: 1; }
.aem-chat-widget__ctl-icon { width: 1.05rem; height: 1.05rem; display: block; flex: 0 0 auto; }
.aem-chat-widget[data-character-enabled="false"] .aem-chat-widget__header-reroll-btn { display: none; }
.aem-chat-widget__settings-popover { position: absolute; top: 3.2rem; right: .85rem; z-index: 20; width: 17rem; background: #ffffff; border: 1px solid #cbd5e1; border-radius: .5rem; box-shadow: 0 .4rem 1.2rem rgba(15, 23, 42, .18); padding: .75rem; font-size: .84rem; }
.aem-chat-widget__settings-header { display: flex; align-items: center; justify-content: space-between; font-weight: 700; color: #0f172a; border-bottom: 1px solid #e2e8f0; padding-bottom: .4rem; margin-bottom: .6rem; }
.aem-chat-widget__settings-close { border: 0; background: transparent; cursor: pointer; font-size: .9rem; color: #64748b; padding: .1rem .3rem; border-radius: .25rem; }
.aem-chat-widget__settings-close:hover { background: #f1f5f9; color: #0f172a; }
.aem-chat-widget__settings-body { display: flex; flex-direction: column; gap: .55rem; }
.aem-chat-widget__setting-item { display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 500; color: #334155; }
.aem-chat-widget__setting-item input[type="checkbox"] { width: 1.1rem; height: 1.1rem; cursor: pointer; accent-color: #075a9d; }
.aem-chat-widget__setting-char-select-wrap { display: flex; flex-direction: column; gap: .3rem; padding-top: .45rem; border-top: 1px solid #e2e8f0; margin-top: .2rem; }
.aem-chat-widget__setting-label { font-size: .8rem; font-weight: 700; color: #475569; }
.aem-chat-widget__setting-char-row { display: flex; gap: .35rem; align-items: center; }
.aem-chat-widget__char-select { flex: 1 1 auto; min-width: 0; padding: .3rem .45rem; font-size: .82rem; border: 1px solid #cbd5e1; border-radius: .35rem; background: #f8fafc; color: #1e293b; outline: none; cursor: pointer; }
.aem-chat-widget__char-select:focus { border-color: #075a9d; background: #fff; }
.aem-chat-widget__reroll-btn { flex: 0 0 auto; padding: .3rem .55rem; font-size: .85rem; border: 1px solid #cbd5e1; border-radius: .35rem; background: #f8fafc; color: #334155; font-weight: 600; cursor: pointer; line-height: 1; }
.aem-chat-widget__reroll-btn:hover { background: #e2e8f0; color: #0f172a; }
.aem-chat-widget__resize { position: absolute; top: .1rem; left: .15rem; width: 1rem; height: 1rem; padding: 0; border: 0; background: transparent; color: #52616b; cursor: nwse-resize; font-size: .7rem; line-height: 1; touch-action: none; }
.aem-chat-widget__resize:hover, .aem-chat-widget__resize:focus-visible { color: #075a9d; outline: 1px solid #075a9d; }
.aem-chat-widget__consent { margin: .75rem; padding: .9rem; border: 1px solid #9bb6ca; border-radius: .5rem; background: #f5faff; color: #18212b; }
.aem-chat-widget__consent h2 { margin: 0 0 .5rem; color: #073d67; font-size: 1rem; }
.aem-chat-widget__consent p { margin: .45rem 0; font-size: .84rem; }
.aem-chat-widget__consent-ok { display: block; width: 100%; margin-top: .75rem; padding: .55rem .75rem; border: 0; border-radius: .35rem; background: #075a9d; color: #fff; font-weight: 700; cursor: pointer; }
.aem-chat-widget__consent-ok:hover, .aem-chat-widget__consent-ok:focus-visible { background: #064b83; }
.aem-chat-widget__messages { flex: 1 1 auto; min-height: 14rem; overflow-y: auto; padding: .9rem; background: #fbfdff; text-align: left; }
.aem-chat-widget__welcome-card { display: flex; align-items: center; gap: .9rem; margin-bottom: .85rem; padding: .8rem .95rem; border-radius: .5rem; background: #f0f7fd; border: 1px solid #cde2f3; }
.aem-chat-widget[data-character-enabled="false"] .aem-chat-widget__welcome-card { display: none; }
.aem-chat-widget__welcome-char-wrap { width: 4.2rem; height: 4.2rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.aem-chat-widget__welcome-char-img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .1)); }
.aem-chat-widget__welcome-content { flex: 1 1 auto; font-size: .84rem; line-height: 1.4; color: #1e293b; min-width: 0; }
.aem-chat-widget__welcome-header-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .3rem; flex-wrap: wrap; }
.aem-chat-widget__welcome-title { font-weight: 700; color: #073d67; font-size: .92rem; }
.aem-chat-widget__welcome-controls { display: flex; align-items: center; gap: .3rem; }
.aem-chat-widget__welcome-char-select { padding: .2rem .45rem; font-size: .78rem; border-radius: .3rem; background: #ffffff; border: 1px solid #94a3b8; font-weight: 600; color: #073d67; cursor: pointer; outline: none; max-width: 11rem; }
.aem-chat-widget__welcome-char-select:focus { border-color: #075a9d; box-shadow: 0 0 0 2px rgba(7, 90, 157, .18); }
.aem-chat-widget__msg-wrap { display: flex; gap: .5rem; align-items: flex-start; margin-bottom: .75rem; }
.aem-chat-widget__msg-wrap:last-child { margin-bottom: 0; }
.aem-chat-widget__msg-avatar { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #eef4f8; border: 1px solid #cbd5e1; flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-top: .15rem; }
.aem-chat-widget[data-character-enabled="false"] .aem-chat-widget__msg-avatar { display: none; }
.aem-chat-widget__msg-avatar img { width: 100%; height: 100%; object-fit: contain; }
.aem-chat-widget__message { flex: 1 1 auto; margin: 0; padding: .7rem .8rem; border-radius: .5rem; font-size: .92rem; overflow-wrap: anywhere; text-align: left; }
.aem-chat-widget__message-body > :first-child { margin-top: 0; }
.aem-chat-widget__message-body > :last-child { margin-bottom: 0; }
.aem-chat-widget__message-body p, .aem-chat-widget__message-body ul, .aem-chat-widget__message-body ol, .aem-chat-widget__message-body blockquote, .aem-chat-widget__message-body pre { margin: 0 0 .65rem; }
.aem-chat-widget__message-body ul, .aem-chat-widget__message-body ol { padding-left: 1.4rem; }
.aem-chat-widget__message-body h3, .aem-chat-widget__message-body h4, .aem-chat-widget__message-body h5 { margin: .8rem 0 .4rem; color: #073d67; font-size: 1em; }
.aem-chat-widget__message-body blockquote { padding-left: .65rem; border-left: 3px solid #79aed3; color: #334155; }
.aem-chat-widget__message-body code { padding: .08rem .25rem; border-radius: .2rem; background: #dceaf5; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .87em; }
.aem-chat-widget__message-body pre { overflow-x: auto; padding: .65rem; border-radius: .35rem; background: #16212b; color: #f8fafc; white-space: pre; }
.aem-chat-widget__message-body pre code { padding: 0; background: transparent; color: inherit; }
.aem-chat-widget__table-wrap { overflow-x: auto; margin: 0 0 .65rem; }
.aem-chat-widget__math { font-family: 'Cambria Math', Cambria, 'STIX Two Math', Georgia, serif; font-style: italic; }
.aem-chat-widget__math sub, .aem-chat-widget__math sup { font-style: normal; }
.aem-chat-widget__message table { width: 100%; border-collapse: collapse; font-size: .88em; text-align: left; }
.aem-chat-widget__message th, .aem-chat-widget__message td { padding: .4rem .5rem; border: 1px solid #b8c5d0; vertical-align: top; text-align: left; }
.aem-chat-widget__message th { background: #dceaf5; color: #073d67; }
.aem-chat-widget__message a { color: #075a9d; font-weight: 600; }
.aem-chat-widget__message--user { background: #e3f3e0; margin-left: auto; max-width: 85%; }
.aem-chat-widget__message--assistant { background: #eef4f8; }
.aem-chat-widget__message-badge { display: inline-flex; align-items: center; font-size: .7rem; font-weight: 700; padding: .15rem .5rem; border-radius: .25rem; margin-bottom: .35rem; line-height: 1.2; }
.aem-chat-widget__message-badge--site { background: #e0edfa; color: #074779; border: 1px solid #b3d1ed; }
.aem-chat-widget__message-badge--general { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }
.aem-chat-widget__message-badge--advice { background: #f3e8ff; color: #581c87; border: 1px solid #e9d5ff; }
.aem-chat-widget__message--thinking { display: flex; align-items: center; gap: .5rem; color: #3e4c59; font-size: .84rem; }
.aem-chat-widget__message--thinking .aem-chat-widget__dots { display: inline-flex; gap: .25rem; }
.aem-chat-widget__message--thinking .aem-chat-widget__dots span { width: .4rem; height: .4rem; border-radius: 50%; background: #7c93a6; animation: aem-chat-bounce 1s infinite ease-in-out; }
.aem-chat-widget__message--thinking .aem-chat-widget__dots span:nth-child(2) { animation-delay: .15s; }
.aem-chat-widget__message--thinking .aem-chat-widget__dots span:nth-child(3) { animation-delay: .3s; }
@keyframes aem-chat-bounce { 0%, 80%, 100% { transform: scale(.6); opacity: .5; } 40% { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .aem-chat-widget__spinner { animation: none; border-top-color: rgba(255, 255, 255, .4); } .aem-chat-widget__message--thinking .aem-chat-widget__dots span { animation: none; opacity: .85; } }

/* The requirement-chips and follow-up-actions cards float in the top-right
   corner of the card instead of sitting in a fixed-width column that ran
   the card's full height -- a short pair of cards no longer permanently
   narrows a tall answer for its whole length. `ensureArimAside()` inserts
   this as `item`'s first child, so the answer text (and anything else
   that follows it) wraps around it for as long as it has height, then
   reverts to the card's full width on its own -- ordinary CSS float
   behaviour, not something the JS has to compute. Structured blocks
   (results, quick replies, the bottom notice/links) `clear: both` below
   instead of wrapping, so a card grid or button list is never squeezed
   narrower to dodge it -- only the prose right after the question does. */
.aem-chat-widget__arim-aside {
  float: right;
  width: 12rem;
  max-width: 45%;
  margin: 0 0 .5rem .75rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.aem-chat-widget .aem-chat-widget__arim-aside .aem-chat-widget__req-chips-wrap,
.aem-chat-widget .aem-chat-widget__arim-aside .aem-chat-widget__arim-actions-wrap {
  margin: 0 !important;
}
/* Contains the float within the message bubble's own border/background,
   and stops the next message's avatar row from wrapping around a
   still-floated element left over from this one. */
.aem-chat-widget__message--assistant::after { content: ""; display: table; clear: both; }
.aem-chat-widget__arim-results-wrap,
.aem-chat-widget__arim-institutions-wrap,
.aem-chat-widget__quick-replies,
.aem-chat-widget__arim-bottom {
  clear: both;
}
.aem-chat-widget__debug-toggle { width: 1.35rem; height: 1.35rem; margin-top: .15rem; padding: 0; border: 1px solid #9bb6ca; border-radius: 50%; background: #fff; color: #52616b; cursor: pointer; font-family: Georgia,serif; font-size: .9rem; font-style: italic; font-weight: 700; line-height: 1; }
.aem-chat-widget__debug { display: grid; grid-template-columns: max-content 1fr; gap: .2rem .6rem; margin: .45rem 0 0; padding: .55rem; border-left: 3px solid #79aed3; background: #f8fbfd; color: #334155; font-size: .76rem; }
.aem-chat-widget__debug dt { font-weight: 700; }
.aem-chat-widget__debug dd { margin: 0; overflow-wrap: anywhere; }
.aem-chat-widget__mode-bar { display: flex; flex-direction: column; gap: .25rem; }
.aem-chat-widget__modes { display: flex; gap: .35rem; padding: .25rem; border-radius: .45rem; background: #e2e8f0; border: 1px solid #cbd5e1; }
.aem-chat-widget__mode-btn { flex: 1 1 0; padding: .35rem .4rem; border: 1px solid #cbd5e1; border-radius: .35rem; background: #ffffff; color: #475569; font-size: .78rem; font-weight: 600; cursor: pointer; text-align: center; white-space: nowrap; transition: all .15s ease; }
.aem-chat-widget__mode-btn:hover { background: #f8fafc; color: #0f172a; border-color: #94a3b8; }
.aem-chat-widget__mode-btn--active { background: #075a9d !important; color: #ffffff !important; border-color: #05457a !important; font-weight: 700; box-shadow: 0 2px 4px rgba(7, 90, 157, .35); }
.aem-chat-widget__mode-hint { font-size: .72rem; color: #475569; padding: 0 .25rem; line-height: 1.35; text-align: left; transition: opacity .15s ease; }
.aem-chat-widget__form { display: grid; flex: 0 0 auto; gap: .5rem; padding: .75rem; border-top: 1px solid #d8e0e6; }
.aem-chat-widget__form textarea { width: 100%; min-height: 4.25rem; padding: .6rem; border: 1px solid #9bb6ca; border-radius: .4rem; box-sizing: border-box; resize: vertical; color: #18212b; background: #fff; text-align: left; }
.aem-chat-widget__form textarea:focus { border-color: #075a9d; outline: 2px solid rgba(7, 90, 157, .2); outline-offset: 1px; }
.aem-chat-widget__actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.aem-chat-widget__submit-btn { flex: 0 0 auto; align-self: flex-end; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .95rem; border: 0; border-radius: .35rem; background: #0871bd; color: #fff; font-weight: 700; font-size: .84rem; cursor: pointer; transition: background .15s ease; }
.aem-chat-widget__submit-btn:hover:not(:disabled), .aem-chat-widget__submit-btn:focus-visible:not(:disabled) { background: #075a9d; }
.aem-chat-widget__submit-btn:disabled { background: #94a3b8; color: #f8fafc; cursor: not-allowed; }
.aem-chat-widget__submit-shortcut { display: inline-flex; align-items: center; gap: .15rem; font-size: .72rem; opacity: .88; font-weight: 500; }
.aem-chat-widget__submit-shortcut kbd { display: inline-block; padding: .05rem .25rem; border-radius: .2rem; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .35); font-family: inherit; font-size: .75em; line-height: 1; }
/* Shares the send button's row (see the markup comment). min-width:0 lets it
   wrap instead of forcing the row wider than the panel. */
.aem-chat-widget__notice { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; color: #52606d; font-size: .68rem; line-height: 1.45; text-align: left; }
.aem-chat-widget[data-state="unavailable"] .aem-chat-widget__toggle, .aem-chat-widget[data-state="busy"] .aem-chat-widget__toggle { background: #52616b; }
@media (max-width: 480px) { .aem-chat-widget { right: .5rem; bottom: .5rem; width: calc(100vw - 1rem); } .aem-chat-widget__panel { height: min(var(--aem-chat-height), calc(100vh - 4.5rem)); } .aem-chat-widget__resize { display: none; } }

/* Quick Question / Starter & Follow-up Suggestions */
.aem-chat-widget .aem-chat-widget__starter-wrap,
.aem-chat-widget .aem-chat-widget__followup-wrap {
  margin-top: .65rem !important;
  padding: .5rem .65rem !important;
  border-radius: .6rem !important;
  background: #f0f7fd !important;
  border: 1px solid #c5def2 !important;
  box-shadow: 0 1px 3px rgba(3, 76, 130, .05) !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.aem-chat-widget .aem-chat-widget__chips-header {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  margin-bottom: .45rem !important;
  padding-bottom: .25rem !important;
  border-bottom: 1px dashed #b8d8f0 !important;
}

.aem-chat-widget .aem-chat-widget__chips-header-icon {
  font-size: .9rem !important;
  line-height: 1 !important;
}

.aem-chat-widget .aem-chat-widget__chips-header-title {
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: #073d67 !important;
  letter-spacing: .01em !important;
}

.aem-chat-widget ul.aem-chat-widget__chips,
.aem-chat-widget .aem-chat-widget__chips {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
  width: 100% !important;
}

.aem-chat-widget li.aem-chat-widget__chip-item,
.aem-chat-widget .aem-chat-widget__chip-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.aem-chat-widget button.aem-chat-widget__chip,
.aem-chat-widget .aem-chat-widget__chip {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  margin: .15rem 0 !important;
  padding: .28rem .7rem !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1.5px solid #7cb5ec !important;
  color: #074b83 !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(3, 76, 130, .08) !important;
  transition: all .15s ease-in-out !important;
}

.aem-chat-widget .aem-chat-widget__chip-icon {
  font-size: .82rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  opacity: .9 !important;
}

.aem-chat-widget .aem-chat-widget__chip-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #074b83 !important;
  overflow-wrap: break-word !important;
}

.aem-chat-widget .aem-chat-widget__chip-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #3b82f6 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin-left: .15rem !important;
  transition: transform .15s ease, color .15s ease !important;
}

.aem-chat-widget button.aem-chat-widget__chip:hover,
.aem-chat-widget button.aem-chat-widget__chip:focus-visible,
.aem-chat-widget .aem-chat-widget__chip:hover,
.aem-chat-widget .aem-chat-widget__chip:focus-visible {
  background: #075a9d !important;
  border-color: #05457a !important;
  color: #ffffff !important;
  box-shadow: 0 3px 8px rgba(7, 90, 157, .28) !important;
  transform: translateY(-1px) !important;
}

.aem-chat-widget .aem-chat-widget__chip:hover .aem-chat-widget__chip-text,
.aem-chat-widget .aem-chat-widget__chip:focus-visible .aem-chat-widget__chip-text {
  color: #ffffff !important;
}

.aem-chat-widget .aem-chat-widget__chip:hover .aem-chat-widget__chip-arrow,
.aem-chat-widget .aem-chat-widget__chip:focus-visible .aem-chat-widget__chip-arrow {
  color: #ffffff !important;
  transform: translateX(2px) !important;
}

.aem-chat-widget[data-state="generating"] .aem-chat-widget__chip {
  pointer-events: none !important;
  opacity: .5 !important;
}

/* Quick Replies (Dynamic Options) Styling */
.aem-chat-widget .aem-chat-widget__quick-replies {
  margin: .65rem 0 .3rem !important;
  padding: .6rem .75rem !important;
  background: #f0f7ff !important;
  border: 1px solid #bae6fd !important;
  border-radius: 12px !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-header {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  margin-bottom: .5rem !important;
  color: #0369a1 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-icon {
  font-size: .85rem !important;
  line-height: 1 !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: .45rem !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: .45rem .85rem !important;
  background: #ffffff !important;
  border: 1.5px solid #38bdf8 !important;
  border-radius: 10px !important;
  color: #0369a1 !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(3, 105, 161, .08) !important;
  transition: all .15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn-text {
  flex: 1 1 auto !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn-arrow {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  margin-left: .5rem !important;
  transition: transform .15s ease !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn:hover:not(:disabled),
.aem-chat-widget .aem-chat-widget__quick-reply-btn:focus-visible:not(:disabled) {
  background: #0284c7 !important;
  border-color: #0369a1 !important;
  color: #ffffff !important;
  box-shadow: 0 3px 10px rgba(2, 132, 199, .28) !important;
  transform: translateY(-1px) !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn:hover:not(:disabled) .aem-chat-widget__quick-reply-btn-arrow,
.aem-chat-widget .aem-chat-widget__quick-reply-btn:focus-visible:not(:disabled) .aem-chat-widget__quick-reply-btn-arrow {
  color: #ffffff !important;
  transform: translateX(3px) !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn--selected {
  background: #0369a1 !important;
  border-color: #075985 !important;
  color: #ffffff !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) !important;
}

.aem-chat-widget .aem-chat-widget__quick-reply-btn:disabled:not(.aem-chat-widget__quick-reply-btn--selected) {
  opacity: .5 !important;
  cursor: default !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
  color: #64748b !important;
  transform: none !important;
  box-shadow: none !important;
}

.aem-chat-widget[data-state="generating"] .aem-chat-widget__quick-reply-btn {
  pointer-events: none !important;
  opacity: .5 !important;
}

/* ==========================================================================
   ARIM Concierge Rich UI Components (Stage 6)
   ========================================================================== */

/* 1. Requirement Summary Chips */
.aem-chat-widget .aem-chat-widget__req-chips-wrap {
  margin: .65rem 0 .45rem !important;
  padding: .5rem .65rem !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: .5rem !important;
}
.aem-chat-widget .aem-chat-widget__req-chips-header {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  margin-bottom: .4rem !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: #166534 !important;
}
.aem-chat-widget .aem-chat-widget__req-chips-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
}
.aem-chat-widget .aem-chat-widget__req-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  padding: .2rem .55rem .2rem .6rem !important;
  background: #ffffff !important;
  border: 1px solid #86efac !important;
  border-radius: 999px !important;
  color: #15803d !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(22, 101, 52, .06) !important;
}
.aem-chat-widget .aem-chat-widget__req-chip-remove {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.1rem !important;
  height: 1.1rem !important;
  border-radius: 50% !important;
  background: #dcfce7 !important;
  color: #166534 !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  transition: all .15s ease !important;
}
.aem-chat-widget .aem-chat-widget__req-chip-remove:hover,
.aem-chat-widget .aem-chat-widget__req-chip-remove:focus-visible {
  background: #ef4444 !important;
  color: #ffffff !important;
}

/* 2. ARIM Results & Device Cards */
.aem-chat-widget .aem-chat-widget__arim-results-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: .85rem !important;
  margin: .75rem 0 .45rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-group {
  display: flex !important;
  flex-direction: column !important;
  gap: .45rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-group-header {
  font-size: .82rem !important;
  font-weight: 700 !important;
  color: #073d67 !important;
  padding: .2rem 0 !important;
  border-bottom: 2px solid #bae6fd !important;
}
.aem-chat-widget .aem-chat-widget__arim-group--primary .aem-chat-widget__arim-group-header {
  color: #0369a1 !important;
  border-bottom-color: #0284c7 !important;
}
.aem-chat-widget .aem-chat-widget__arim-group--nearby .aem-chat-widget__arim-group-header {
  color: #0f766e !important;
  border-bottom-color: #14b8a6 !important;
}
.aem-chat-widget .aem-chat-widget__arim-group--advanced .aem-chat-widget__arim-group-header {
  color: #6d28d9 !important;
  border-bottom-color: #a855f7 !important;
}
.aem-chat-widget .aem-chat-widget__arim-group--alternative .aem-chat-widget__arim-group-header {
  color: #b45309 !important;
  border-bottom-color: #f59e0b !important;
}
/* Two columns once there's room for them -- keyed off this element's own
   rendered width (container query), not the viewport, since the panel's
   width varies by mode and by the user's own drag-resize. */
.aem-chat-widget .aem-chat-widget__arim-results-wrap {
  container-type: inline-size !important;
}
.aem-chat-widget .aem-chat-widget__arim-cards {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .55rem !important;
}
@container (min-width: 34rem) {
  .aem-chat-widget .aem-chat-widget__arim-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.aem-chat-widget .aem-chat-widget__arim-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .35rem !important;
  min-width: 0 !important; /* a grid item's default min-width:auto would let long
    unbroken text force the track wider instead of wrapping */
  padding: .65rem .8rem !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: .5rem !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .06) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
.aem-chat-widget .aem-chat-widget__arim-card:hover {
  border-color: #7cb5ec !important;
  box-shadow: 0 3px 8px rgba(7, 90, 157, .12) !important;
}
.aem-chat-widget .aem-chat-widget__arim-card-top {
  display: flex !important;
  align-items: baseline !important;
  gap: .45rem !important;
  flex-wrap: wrap !important;
}
.aem-chat-widget .aem-chat-widget__arim-fid {
  display: inline-block !important;
  padding: .1rem .4rem !important;
  background: #e0f2fe !important;
  border: 1px solid #bae6fd !important;
  border-radius: .25rem !important;
  color: #0369a1 !important;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
}
.aem-chat-widget .aem-chat-widget__arim-card-title {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.aem-chat-widget .aem-chat-widget__arim-card-meta {
  font-size: .76rem !important;
  overflow-wrap: anywhere !important;
  color: #64748b !important;
  line-height: 1.35 !important;
}
.aem-chat-widget .aem-chat-widget__arim-reasons,
.aem-chat-widget .aem-chat-widget__arim-caps {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .3rem !important;
  margin-top: .15rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-reason-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: .12rem .45rem !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: .25rem !important;
  color: #166534 !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
}
.aem-chat-widget .aem-chat-widget__arim-cap-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: .12rem .45rem !important;
  border-radius: .25rem !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
}
.aem-chat-widget .aem-chat-widget__arim-cap-badge--g1 {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #1d4ed8 !important;
}
.aem-chat-widget .aem-chat-widget__arim-cap-badge--g2 {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
}
.aem-chat-widget .aem-chat-widget__arim-card-actions {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: .3rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-detail-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .25rem !important;
  padding: .25rem .65rem !important;
  background: #075a9d !important;
  border: 1px solid #064b83 !important;
  border-radius: .35rem !important;
  color: #ffffff !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all .15s ease !important;
}
.aem-chat-widget .aem-chat-widget__arim-detail-btn:hover,
.aem-chat-widget .aem-chat-widget__arim-detail-btn:focus-visible {
  background: #064b83 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 5px rgba(7, 90, 157, .25) !important;
}
.aem-chat-widget .aem-chat-widget__arim-detail-btn-arrow {
  font-weight: 700 !important;
  font-size: .85rem !important;
}
.aem-chat-widget .aem-chat-widget__ext-icon {
  font-weight: 700 !important;
  font-size: .8rem !important;
  line-height: 1 !important;
}
.aem-chat-widget .aem-chat-widget__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 3. Catalog Notice */
.aem-chat-widget .aem-chat-widget__arim-notice {
  display: flex !important;
  align-items: flex-start !important;
  gap: .35rem !important;
  margin: .45rem 0 .25rem !important;
  padding: .4rem .55rem !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .35rem !important;
  font-size: .72rem !important;
  color: #64748b !important;
  line-height: 1.35 !important;
}
.aem-chat-widget .aem-chat-widget__arim-notice-icon {
  font-size: .8rem !important;
  line-height: 1.2 !important;
  flex-shrink: 0 !important;
}

/* 4. Follow-up Actions */
.aem-chat-widget .aem-chat-widget__arim-actions-wrap {
  margin: .65rem 0 .25rem !important;
  padding: .55rem .7rem !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: .5rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-actions-header {
  display: flex !important;
  align-items: center !important;
  gap: .3rem !important;
  margin-bottom: .45rem !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .35rem !important;
  padding: .35rem .65rem !important;
  border-radius: .35rem !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--widen_region {
  background: #e0f2fe !important;
  border: 1px solid #7dd3fc !important;
  color: #0369a1 !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--widen_region:hover:not(:disabled) {
  background: #0284c7 !important;
  color: #ffffff !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--other_methods {
  background: #fef3c7 !important;
  border: 1px solid #fcd34d !important;
  color: #92400e !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--other_methods:hover:not(:disabled) {
  background: #d97706 !important;
  color: #ffffff !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--reset {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn--reset:hover:not(:disabled) {
  background: #64748b !important;
  color: #ffffff !important;
}
.aem-chat-widget .aem-chat-widget__arim-action-btn:disabled {
  opacity: .5 !important;
  cursor: default !important;
}
.aem-chat-widget[data-state="generating"] .aem-chat-widget__arim-action-btn {
  pointer-events: none !important;
  opacity: .5 !important;
}

/* 5. External Search Links */
.aem-chat-widget .aem-chat-widget__arim-ext-search-wrap,
.aem-chat-widget .aem-chat-widget__starter-arim-ext {
  margin-top: .45rem !important;
  padding-top: .35rem !important;
  border-top: 1px dashed #bae6fd !important;
  text-align: right !important;
}
.aem-chat-widget .aem-chat-widget__arim-ext-search-link,
.aem-chat-widget .aem-chat-widget__starter-arim-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: .25rem !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  color: #0369a1 !important;
  text-decoration: none !important;
  transition: color .15s ease !important;
}
.aem-chat-widget .aem-chat-widget__arim-ext-search-link:hover,
.aem-chat-widget .aem-chat-widget__starter-arim-link:hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}



/* ------------------------------------------------------------------ */
/* ARIM Concierge Stage 2                                              */
/* See aem-infra docs/agent/arim-concierge-stage2.md.                  */
/* ------------------------------------------------------------------ */

/* §2/§32: the ARIM entry screen -- explanation + links, no category chips. */
.aem-chat-widget .aem-chat-widget__starter-arim-intro {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.7;
	color: #445;
}

.aem-chat-widget .aem-chat-widget__starter-arim-link--desk {
	opacity: 0.85;
}

/* §17: a chip queued for removal is visibly not yet applied, so the chip row
   and the results below it are never silently out of step. */
.aem-chat-widget .aem-chat-widget__req-chip--required {
	border-color: #3f6ad8;
}

.aem-chat-widget .aem-chat-widget__req-chip--pending-removal {
	opacity: 0.45;
	text-decoration: line-through;
}

.aem-chat-widget .aem-chat-widget__req-chips-pending {
	margin: 8px 0 6px;
	font-size: 12px;
	color: #a15c00;
}

.aem-chat-widget .aem-chat-widget__req-chips-apply {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1px solid #3f6ad8;
	border-radius: 999px;
	background: #3f6ad8;
	color: #fff;
	font-size: 13px;
	cursor: pointer;
}

.aem-chat-widget .aem-chat-widget__req-chips-apply:hover,
.aem-chat-widget .aem-chat-widget__req-chips-apply:focus-visible {
	background: #35569f;
}

/* §14: what the public catalog could not confirm, stated on the card. */
.aem-chat-widget .aem-chat-widget__arim-missing,
.aem-chat-widget .aem-chat-widget__arim-unmet {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: #8a5a00;
}

.aem-chat-widget .aem-chat-widget__arim-more {
	margin: 8px 0 0;
	font-size: 12px;
	color: #667;
}

.aem-chat-widget .aem-chat-widget__arim-group-note {
	margin: 2px 0 8px;
	font-size: 12px;
	color: #667;
}

/* §15: provenance behind a disclosure -- a modal trigger, not an inline
   <details> expansion, so opening it never reflows the rest of the card. */
.aem-chat-widget .aem-chat-widget__arim-evidence-trigger {
	all: unset;
	margin-top: 6px;
	font-size: 12px;
	color: #3f6ad8;
	cursor: pointer;
	text-decoration: underline;
}

.aem-chat-widget .aem-chat-widget__arim-evidence-trigger:hover,
.aem-chat-widget .aem-chat-widget__arim-evidence-trigger:focus-visible {
	color: #26439c;
}

.aem-chat-widget .aem-chat-widget__arim-evidence-notes {
	margin: 6px 0 0 16px;
	padding: 0;
	color: #8a5a00;
}

/* Evidence modal: an overlay confined to the widget panel (not the whole
   viewport), since the panel is already a small floating window. */
.aem-chat-widget .aem-chat-widget__evidence-modal {
	position: absolute;
	inset: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, .45);
}

.aem-chat-widget .aem-chat-widget__evidence-modal-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 24rem;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: .6rem;
	box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .35);
	overflow: hidden;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	padding: .65rem .85rem;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	flex-shrink: 0;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-title {
	font-size: .85rem;
	font-weight: 700;
	color: #1e293b;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-close {
	all: unset;
	cursor: pointer;
	padding: .1rem .4rem;
	border-radius: .3rem;
	font-size: .85rem;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-close:hover,
.aem-chat-widget .aem-chat-widget__evidence-modal-close:focus-visible {
	background: #e2e8f0;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-body {
	padding: .75rem .85rem;
	overflow-y: auto;
	font-size: .78rem;
	color: #334155;
	line-height: 1.5;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-body p {
	margin: 0 0 .5rem;
}

.aem-chat-widget .aem-chat-widget__evidence-modal-body a {
	color: #3f6ad8;
}

/* §9: institution ("place to consult") cards. */
.aem-chat-widget .aem-chat-widget__arim-institutions-wrap {
	margin-top: 12px;
}

.aem-chat-widget .aem-chat-widget__arim-institution {
	margin: 8px 0;
	padding: 12px 14px;
	border: 1px solid #dde2ef;
	border-radius: 10px;
	background: #fbfcff;
}

.aem-chat-widget .aem-chat-widget__arim-institution-name {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
}

.aem-chat-widget .aem-chat-widget__arim-institution-region,
.aem-chat-widget .aem-chat-widget__arim-institution-why {
	margin: 0 0 6px;
	font-size: 12px;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__arim-institution-stages {
	margin: 0 0 8px;
	padding-left: 18px;
	font-size: 12px;
	color: #667;
}

.aem-chat-widget .aem-chat-widget__arim-stage--covered {
	color: #2c6e49;
}

.aem-chat-widget .aem-chat-widget__arim-institution-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.aem-chat-widget .aem-chat-widget__arim-institution-devices summary {
	cursor: pointer;
	color: #3f6ad8;
	font-size: 13px;
}

.aem-chat-widget .aem-chat-widget__arim-contact-btn {
	align-self: flex-start;
	padding: 6px 14px;
	border: 1px solid #3f6ad8;
	border-radius: 999px;
	background: #fff;
	color: #3f6ad8;
	font-size: 13px;
	cursor: pointer;
}

.aem-chat-widget .aem-chat-widget__arim-contact-panel {
	padding: 10px 12px;
	border: 1px solid #e2e6f0;
	border-radius: 8px;
	background: #fff;
	font-size: 12px;
}

.aem-chat-widget .aem-chat-widget__arim-contact-list {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 12px;
	margin: 0;
}

.aem-chat-widget .aem-chat-widget__arim-contact-list dt {
	font-weight: 600;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__arim-contact-list dd {
	margin: 0;
	word-break: break-all;
}

.aem-chat-widget .aem-chat-widget__arim-contact-source {
	margin: 8px 0 0;
	color: #889;
	word-break: break-all;
}

/* §8: the ARIM general enquiry desk. Never styled or worded as a live-chat
   handoff -- the blurb below the link says so in words. */
.aem-chat-widget .aem-chat-widget__arim-desk {
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid #dde2ef;
	border-radius: 10px;
	background: #f7f9ff;
}

.aem-chat-widget .aem-chat-widget__arim-desk-blurb {
	margin: 0 0 8px;
	font-size: 12px;
	line-height: 1.7;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__arim-desk-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #3f6ad8;
}

/* §5.1 / §5.6: premises and neutral prerequisites. */
.aem-chat-widget .aem-chat-widget__arim-notes {
	margin: 10px 0 0 16px;
	padding: 0;
	font-size: 12px;
	line-height: 1.7;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__arim-notices {
	margin: 0 0 8px;
}

.aem-chat-widget .aem-chat-widget__arim-notice-line,
.aem-chat-widget .aem-chat-widget__arim-degraded {
	margin: 0 0 4px;
	font-size: 12px;
	color: #8a5a00;
}

/* §32: the always-present footer -- small enquiry-desk link and reset. */
.aem-chat-widget .aem-chat-widget__arim-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #e6e9f2;
	font-size: 12px;
}

.aem-chat-widget .aem-chat-widget__arim-footer-link {
	color: #667;
	text-decoration: underline;
}

.aem-chat-widget .aem-chat-widget__arim-reset-btn {
	padding: 4px 10px;
	border: 1px solid #d7dbe6;
	border-radius: 999px;
	background: #fff;
	color: #667;
	font-size: 12px;
	cursor: pointer;
}

/* §18: reset asks first. */
.aem-chat-widget .aem-chat-widget__arim-reset-confirm {
	flex-basis: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding: 10px 12px;
	border: 1px solid #e6c98a;
	border-radius: 8px;
	background: #fffaf0;
}

.aem-chat-widget .aem-chat-widget__arim-reset-confirm p {
	flex-basis: 100%;
	margin: 0;
	font-size: 12px;
	color: #7a5a10;
}

.aem-chat-widget .aem-chat-widget__arim-reset-cancel,
.aem-chat-widget .aem-chat-widget__arim-reset-confirm-btn {
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 12px;
	cursor: pointer;
}

.aem-chat-widget .aem-chat-widget__arim-reset-cancel {
	border: 1px solid #d7dbe6;
	background: #fff;
	color: #556;
}

.aem-chat-widget .aem-chat-widget__arim-reset-confirm-btn {
	border: 1px solid #c0392b;
	background: #c0392b;
	color: #fff;
}
