/* Home page "Search Any Cloud Service" widget (prefix: cbhs) */
.cbhs-box { position: relative; text-align: left; }
.cbhs-drop { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 40; background: #fff; border: 1px solid #e4def2; border-radius: 16px; box-shadow: 0 18px 40px rgba(30,27,58,.18); padding: .4rem; max-height: min(70vh, 430px); overflow-y: auto; }
.cbhs-drop[hidden], .cbhs-res[hidden] { display: none; }
.cbhs-opt { display: flex; align-items: center; gap: .7rem; padding: .55rem .7rem; border-radius: 12px; color: #1e1b3a; text-decoration: none !important; }
.cbhs-opt:hover, .cbhs-opt.act { background: #f4efff; color: #1e1b3a; }
.cbhs-pv { flex: 0 0 auto; min-width: 54px; text-align: center; font-size: .68rem; font-weight: 800; letter-spacing: .02em; color: #fff; border-radius: 999px; padding: .2rem .55rem; }
.cbhs-pv.aws { background: #e08a00; } .cbhs-pv.azure { background: #1b9ad6; } .cbhs-pv.gcp { background: #e5384f; }
.cbhs-tx { min-width: 0; flex: 1 1 auto; }
.cbhs-tx b { display: block; font-size: .92rem; font-weight: 700; line-height: 1.3; }
.cbhs-tx small { display: block; font-size: .76rem; color: #6b6a86; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cbhs-go { flex: 0 0 auto; color: #a99ad0; font-size: .9rem; }
.cbhs-opt mark, .cbhs-row mark { background: #ffe9a8; color: inherit; padding: 0 1px; border-radius: 3px; }
.cbhs-foot { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .7rem .3rem; font-size: .72rem; color: #65648a; border-top: 1px solid #f0ecf8; margin-top: .25rem; }
.cbhs-foot a { color: #541ba3; font-weight: 700; }
.cbhs-none { padding: .8rem .9rem; font-size: .85rem; color: #5b5a75; }
.cbhs-none a { color: #541ba3; font-weight: 700; }

/* results panel (shown when Search is pressed) */
.cbhs-res { margin-top: 1.4rem; text-align: left; background: #fff; border: 1px solid #e4def2; border-radius: 16px; padding: 1rem 1.1rem 1.1rem; box-shadow: 0 8px 24px rgba(84,27,163,.07); }
.cbhs-rh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .8rem; }
.cbhs-rh h3 { margin: 0; font-size: 1rem; font-weight: 800; color: #1e1b3a; }
.cbhs-rh button { border: 0; background: #f4efff; color: #541ba3; font-size: .76rem; font-weight: 700; border-radius: 999px; padding: .28rem .8rem; cursor: pointer; }
.cbhs-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cbhs-col h4 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .4rem; font-size: .8rem; font-weight: 800; color: #3d3b58; }
.cbhs-col h4 i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.cbhs-col h4 em { font-style: normal; font-weight: 700; color: #65648a; }
.cbhs-row { display: block; padding: .45rem .55rem; border-radius: 10px; text-decoration: none !important; color: #1e1b3a; }
.cbhs-row:hover { background: #f4efff; color: #1e1b3a; }
.cbhs-row b { display: block; font-size: .86rem; font-weight: 700; line-height: 1.3; }
.cbhs-row small { display: block; font-size: .74rem; color: #6b6a86; line-height: 1.35; }
.cbhs-empty { font-size: .8rem; color: #65648a; padding: .3rem .55rem; }
.cbhs-miss { font-size: .88rem; color: #5b5a75; line-height: 1.6; }
.cbhs-miss a { color: #541ba3; font-weight: 700; }
@media (max-width: 767.98px) {
  .cbhs-cols { grid-template-columns: minmax(0, 1fr); }
  .cbhs-opt { align-items: flex-start; }
  .cbhs-pv { margin-top: .1rem; }
  .cbhs-tx small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}

/* glossary matches */
.cbhs-sec { margin: .35rem .5rem .1rem; padding-top: .55rem; border-top: 1px solid #f0ecf8; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #65648a; }
.cbhs-pv.term { background: #7b3fd0; }
.cbhs-gl { margin-top: .2rem; background: #faf7ff; }
.cbhs-gl .cbhs-pv.term { min-width: 54px; }
.cbhs-tx b em, .cbhs-row b em { font-style: normal; font-weight: 600; color: #65648a; font-size: .8rem; }
.cbhs-gsec { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px dashed #e4def2; }
.cbhs-gsec .cbhs-rh h3 i { color: #7b3fd0; margin-right: .25rem; }
.cbhs-all { font-size: .78rem; font-weight: 700; color: #541ba3; text-decoration: none; }
.cbhs-all:hover { text-decoration: underline; }
.cbhs-gcols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem .9rem; }
@media (max-width: 767.98px) { .cbhs-gcols { grid-template-columns: minmax(0, 1fr); } }
/* Services whose page is not written yet: found like any other, shown without a link and with a small "Coming soon" label */
.cbhs-soon { cursor: default; }
.cbhs-tag { flex: 0 0 auto; align-self: center; font-style: normal; font-size: .6rem; font-weight: 700; line-height: 1.5; padding: 0 .4rem; border-radius: 999px; background: #fff4dc; border: 1px solid #f0c460; color: #7a4a00; white-space: nowrap; }
.cbhs-row .cbhs-tag { display: inline-block; margin-left: .4rem; vertical-align: middle; }
html[data-cb-theme="dark"] .cbhs-tag { background: #2a2110; border-color: #7a5a1a; color: #ffd36b; }
