/* Shared PPWG colors and typography; these selectors affect the review components only. */
#ppwg-first-step, #ppwg-service-guide { background: #F8F8F8; padding: 28px 34px; letter-spacing: 0; }
#ppwg-first-step *, #ppwg-service-guide * { box-sizing: border-box; letter-spacing: 0; }
#ppwg-first-step h2, #ppwg-service-guide h2, #ppwg-service-guide h3 { margin-top: 0; }
#ppwg-first-step [hidden], #ppwg-service-guide[hidden], #ppwg-service-guide [hidden] { display: none; }
#ppwg-first-step .choices { display: flex; border-bottom: 1px solid #006DB8; }
#ppwg-first-step [role="tab"] {
  flex: 1; min-width: 0; min-height: 56px; padding: 12px;
  border: 0; border-bottom: 3px solid transparent;
  background: transparent; color: #424242; font: inherit; font-size: 1.6rem; line-height: 1.5;
}
#ppwg-first-step [role="tab"][aria-selected="true"] { color: #006DB8; background: #fff; border-bottom-color: #006DB8; font-weight: 600; }
#ppwg-first-step .glyphicon { margin-right: 8px; }
#ppwg-first-step [role="tabpanel"] { padding-top: 20px; }
#ppwg-first-step .actions, #ppwg-service-guide .guide-actions { display: flex; gap: 16px 24px; align-items: center; flex-wrap: wrap; }
#ppwg-first-step .notice { margin-top: 16px; margin-bottom: 0; }
#ppwg-first-step a, #ppwg-service-guide a { overflow-wrap: anywhere; }
#ppwg-first-step a.ppwg-button-primary,
#ppwg-first-step a.ppwg-button-primary:visited,
#ppwg-first-step a.ppwg-button-primary:hover,
#ppwg-first-step a.ppwg-button-primary:focus,
#ppwg-first-step a.ppwg-button-primary:active { color: #fff; text-decoration: none; }
#ppwg-first-step :focus-visible, #ppwg-service-guide :focus-visible,
#block-ppwg-ppwgfeatureservices .guide-category-trigger:focus-visible { outline: 3px solid #00548D; outline-offset: 3px; }

#ppwg-service-guide {
  background: #006DB8; color: #fff;
  height: auto; max-height: min(720px, calc(100svh - 32px)); min-height: 0; padding: 24px 34px;
  display: flex; flex-direction: column; gap: 12px; overflow: hidden;
  border-bottom: 1px solid #e7e7e7; border-radius: 0 0 8px 8px; overflow-anchor: none;
}
#ppwg-service-guide .guide-header { display: flex; justify-content: space-between; gap: 12px; flex: 0 0 auto; }
#ppwg-service-guide .guide-labels { min-width: 0; }
#ppwg-service-guide h2 { margin-bottom: 0; color: #fff; }
#ppwg-service-guide .guide-selection-title { font-weight: 700; }
#ppwg-service-guide .guide-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border: 0; background: transparent; color: #00548D; font-size: 1.6rem; }
#ppwg-service-guide .guide-services { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px; }
#ppwg-service-guide .guide-overview-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
#ppwg-service-guide .guide-overview-links a { color: #fff; }
.guide-noscript { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 16px 24px; }
#ppwg-service-guide .guide-service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
#ppwg-service-guide .guide-choice, #ppwg-service-guide .guide-back {
  font: inherit; font-size: 1.6rem; line-height: 1.5; color: #006DB8; background: transparent;
  border: 0; padding: 10px 12px; text-align: left; min-height: 44px; cursor: pointer;
}
#ppwg-service-guide .guide-service-list .guide-choice { display: block; width: 100%; min-height: 76px; border: 1px solid #e7e7e7; border-radius: 6px; background: #fff; overflow-wrap: anywhere; text-decoration: none; }
#ppwg-service-guide .guide-service-name { display: flex; align-items: baseline; gap: 10px; font-size: 1.8rem; line-height: 1.4; font-weight: 700; }
#ppwg-service-guide .guide-service-name > span:first-child { min-width: 0; }
#ppwg-service-guide .guide-service-name .glyphicon { flex: 0 0 auto; font-size: 1.6rem; }
#ppwg-service-guide .guide-service-description { display: block; margin-top: 6px; color: #424242; font-weight: 400; }
#ppwg-service-guide .guide-choice:hover { background: #E4F4FF; }
#ppwg-service-guide .guide-back { align-self: flex-start; flex: 0 0 auto; padding-left: 0; }
#ppwg-service-guide .guide-transcript { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px 12px 4px 4px; }
#ppwg-service-guide .guide-message { margin: 0 0 16px; padding: 12px 16px; max-width: 88%; border-radius: 6px; }
#ppwg-service-guide .guide-message { color: #424242; }
#ppwg-service-guide .guide-message p { margin: 6px 0 0; }
#ppwg-service-guide .guide-message strong { font-size: 1.6rem; }
#ppwg-service-guide .guide-message-you { margin-left: auto; background: #E4F4FF; }
#ppwg-service-guide .guide-message-assistant { background: #fff; border: 1px solid #e7e7e7; }
#ppwg-service-guide .guide-conversation-controls { flex: 0 0 auto; }
#ppwg-service-guide .guide-questions { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 8px; }
#ppwg-service-guide .guide-questions .guide-choice { padding: 4px 8px; text-decoration: underline; }
#ppwg-service-guide .guide-composer { display: flex; gap: 12px; margin-bottom: 12px; }
#ppwg-service-guide .guide-composer input { min-width: 0; width: 100%; background: #fff; border: 1px solid #424242; padding: 10px 12px; font: inherit; font-size: 1.6rem; }
#ppwg-service-guide .guide-send { flex: 0 0 44px; height: 44px; border: 0; border-radius: 6px; background: #006DB8; color: #fff; font-size: 1.6rem; }
#ppwg-service-guide .guide-actions { gap: 8px 20px; }
#ppwg-service-guide .guide-services > a,
#ppwg-service-guide .guide-back,
#ppwg-service-guide .guide-close,
#ppwg-service-guide .guide-questions .guide-choice,
#ppwg-service-guide .guide-actions > a { color: #fff; }
#ppwg-service-guide .guide-questions .guide-choice:hover { color: #00548D; }
#ppwg-service-guide .guide-composer input { color: #424242; }
#ppwg-service-guide .guide-send { background: #fff; color: #00548D; }
#ppwg-service-guide .guide-actions .ppwg-button-primary { background: #fff; color: #00548D; }
#ppwg-service-guide .guide-actions .ppwg-button-primary:hover { background: #E4F4FF; }
#ppwg-service-guide :focus-visible { outline-color: #fff; }
#ppwg-service-guide .guide-service-list .guide-choice:focus-visible,
#ppwg-service-guide .guide-composer input:focus-visible { outline: 3px solid #00548D; outline-offset: -4px; }
#block-ppwg-ppwgfeatureservices.guide-enabled { background-size: 100% 100%; margin-top: -72px; }
#block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper { padding: 56px 34px 24px; }
#block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: 900px; margin: 0 auto; }
#block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper .row::before,
#block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper .row::after { content: none; }
#block-ppwg-ppwgfeatureservices .guide-category-item { min-width: 0; }
#block-ppwg-ppwgfeatureservices .guide-category-item h2 { margin: 0; height: 100%; }
#block-ppwg-ppwgfeatureservices .guide-category-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; height: 100%; min-height: 56px; padding: 14px 18px;
  border: 1px solid #9BAFBD; border-radius: 6px; box-shadow: none;
  background: #fff; color: #00548D; cursor: pointer; text-align: left;
  font: inherit; font-size: 1.8rem; font-weight: 600; line-height: 1.4; letter-spacing: 0;
}
#block-ppwg-ppwgfeatureservices .guide-category-name { min-width: 0; overflow-wrap: anywhere; }
#block-ppwg-ppwgfeatureservices .guide-category-trigger .glyphicon { flex: 0 0 auto; font-size: 1.4rem; transition: transform 160ms ease; }
#block-ppwg-ppwgfeatureservices .guide-category-trigger:hover { background: #E4F4FF; border-color: #00548D; }
#block-ppwg-ppwgfeatureservices .guide-category-trigger[aria-expanded="true"] { background: #006DB8; border-color: #fff; color: #fff; }
#block-ppwg-ppwgfeatureservices .guide-category-trigger[aria-expanded="true"] .glyphicon { transform: rotate(180deg); }
#block-ppwg-ppwgfeatureservices .guide-category-trigger:focus-visible { outline: 3px solid #00548D; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  #block-ppwg-ppwgfeatureservices .guide-category-trigger .glyphicon { transition: none; }
}
@media (max-width: 991px) {
  #ppwg-service-guide .guide-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #block-ppwg-ppwgfeatureservices .guide-category-trigger { font-size: 1.6rem; gap: 12px; }
}
@media (min-width: 992px) {
  #block-ppwg-ppwgfeatureservices.guide-enabled { margin-top: -120px; }
  #block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper { padding-bottom: 32px; }
}
@media (min-width: 1200px) {
  #block-ppwg-ppwgfeatureservices.guide-enabled { margin-top: -144px; }
}
@media (max-width: 767px) {
  #block-ppwg-ppwgfeatureservices.guide-enabled { margin-top: -80px; }
  #block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper { padding: 56px 18px 20px; }
  #block-ppwg-ppwgfeatureservices.guide-enabled .feature-boxes-wrapper .row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #block-ppwg-ppwgfeatureservices .guide-category-trigger { min-height: 56px; padding: 12px 18px; }
  #ppwg-first-step, #ppwg-service-guide { padding: 24px 18px; }
  #ppwg-first-step [role="tab"] { padding: 10px 4px; min-height: 88px; }
  #ppwg-first-step .glyphicon { display: block; margin: 0 0 6px; }
  #ppwg-first-step .actions { align-items: flex-start; flex-direction: column; }
  #ppwg-service-guide { max-height: none; overflow: visible; padding: 16px 18px; gap: 8px; }
  /* Keep phone gestures on the page rather than in a nested treatment scroller. */
  #ppwg-service-guide .guide-services { flex: 0 0 auto; overflow: visible; }
  #ppwg-service-guide .guide-message { max-width: 100%; padding: 10px 12px; }
  #ppwg-service-guide .guide-questions { gap: 0 6px; }
  #ppwg-service-guide .guide-questions .guide-choice { min-height: 36px; }
  #ppwg-service-guide .guide-actions .ppwg-button-primary { width: 100%; }
}
@media (max-width: 479px) {
  #ppwg-service-guide .guide-service-list { grid-template-columns: minmax(0, 1fr); }
  /* This library is attached only to the homepage preview. */
  #navbar .navbar-header { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 0 12px; height: auto; margin: 0; padding: 0 16px; background: #FCFCFC; }
  #navbar .navbar-header::before, #navbar .navbar-header::after { content: none; }
  #navbar .region-navigation { display: contents; }
  #navbar #block-ppwg-account-menu { grid-column: 1 / -1; margin: 0 -16px; padding: 8px; background: #005793; }
  #navbar .menu--account { display: flex; flex-direction: row-reverse; gap: 6px; }
  #navbar .menu--account li { flex: 1; min-width: 0; float: none; }
  #navbar .menu--account li.first { flex: 1.25; }
  #navbar .menu--account li a { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 44px; margin: 0; padding: 4px 6px; background-position: 6px center; }
  #navbar .menu--account li a.patient-login,
  #navbar .menu--account li a.telehealth-visit-menu { padding-left: 24px; }
  #navbar .logo { grid-column: 1; min-width: 0; max-width: 250px; margin: 20px 0; padding: 0; }
  #navbar .logo img { width: 100%; height: auto; }
  #navbar .navbar-toggle { grid-column: 2; align-self: center; width: 44px; height: 44px; margin: 0; padding: 8px; }
}
@media (max-width: 359px) {
  #navbar .menu--account li a.patient-login,
  #navbar .menu--account li a.telehealth-visit-menu { background-image: none; padding-left: 6px; }
}
