  /* Consolidated, sanitized CSS (both original blocks merged) */

  /* Trigger button */
  .show-modal {
      background-color: var(--COB-blue);
      border: none;
      border-radius: 40px;
      box-shadow: 0 0 10px rgba(0,0,0,.2);
      box-sizing: content-box;
      color: var(--white);
      cursor: pointer;
      display: block;
      height: 40px;
      padding: 15px;
      position: fixed;
      right: 2rem;
      bottom: 30px;
      text-align: center;
      width: 40px;
      z-index: 200;
      transition: all 0.5s ease;
  }

  .show-modal:hover {
      background-color: var(--white);
      color: var(--COB-blue);
  }

  /* Tooltip shown on hover/focus */
  .tooltip {
      position: absolute;
      right: calc(100% + 8px);
      top: 50%;
      transform: translateY(-50%);
      background: #333;
      color: #fff;
      padding: 4px 10px;
      border-radius: 4px;
      font-size: 0.85rem;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s;
  }

  .show-modal:hover .tooltip,
  .show-modal:focus-visible .tooltip {
      opacity: 1;
  }

  /* Pulse modifier for floating button */
  .pulse {
      animation: animate-pulse 3s linear infinite;
      background: var(--COB-blue);
      border-radius: 50%;
      color: var(--white);
      cursor: pointer;
      height: 35px;
      width: 35px;
      bottom: 8rem;
  }

  @keyframes animate-pulse {
      0% { box-shadow: 0 0 0 0 rgba(60,114,149,0.7); }
      40% { box-shadow: 0 0 0 15px rgba(60,114,149,0); }
      80% { box-shadow: 0 0 0 15px rgba(60,114,149,0); }
      100% { box-shadow: 0 0 0 0 rgba(60,114,149,0); }
  }

  /* Bottom sheet container */
  .bottom-sheet {
      position: fixed;
      inset: 0 0 0 0;
      width: 100%;
      height: 100%;
      display: flex;
      opacity: 0;
      pointer-events: none;
      align-items: center;
      flex-direction: column;
      justify-content: flex-end;
      transition: 0.1s linear;
      /* create a stacking context so children z-index behave predictably */
      z-index: 100000;
  }

  .bottom-sheet.show {
      opacity: 1;
      pointer-events: auto;
  }

  /* Overlay that dims the page behind the sheet - intentionally lower than sheet content */
  .sheet-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.4);
      z-index: 1;
  }

  /* Sheet content: ensure it sits above the overlay */
  .bottom-sheet .content {
      position: relative;
      z-index: 2;
      width: 100%;
      background: #fff;
      max-height: 100vh;
      height: 50vh;
      max-width: 1150px;
      padding: 25px 30px;
      transform: translateY(100%);
      border-radius: 12px 12px 0 0;
      box-shadow: 0 10px 20px rgba(0,0,0,0.03);
      transition: 0.3s ease;
      overflow-y: auto;
  }

  .bottom-sheet.show .content {
      transform: translateY(0%);
  }

  .bottom-sheet.dragging .content {
      transition: none;
  }

  .bottom-sheet.fullscreen .content {
      border-radius: 0;
      overflow-y: hidden;
  }

  /* Header / drag handle / close button */
  .bottom-sheet .header {
      display: flex;
      justify-content: center;
  }

  .header .drag-icon {
      cursor: grab;
      user-select: none;
      padding: 15px 0 0 0;
      margin-top: -15px;
  }

  .header .drag-icon span {
      height: 4px;
      width: 40px;
      display: block;
      background: #C7D0E1;
      border-radius: 50px;
      margin: 0 auto 5px auto;
  }

  button.closeModal {
      background-color: transparent;
      border: none;
      cursor: pointer;
      display: block;
      font-size: 1.5rem;
      position: absolute;
      right: 1rem;
      top: 1rem;
      min-height: 44px;
      min-width: 44px;
  }

  /* Form inputs (the embedded form may use these selectors) */
  input[type=text], input[type=email], input[type=tel], select {
      width: 100%;
      padding: 12px 20px;
      margin: 8px 0;
      display: inline-block;
      border: 1px solid #ccc;
      border-radius: 4px;
      box-sizing: border-box;
      background-color: #EBF0F4;
  }

  button[type=button].form_button_submit {
      width: 100%;
      background-color: #3C7295;
      color: white;
      padding: 14px 20px;
      margin-top: 12px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-size: inherit;
  }

  button[type=button].form_button_submit:hover {
      background-color: #000;
  }

  /* Focus visibility for keyboard users (WCAG 2.1 requirement) */
  .show-modal:focus-visible,
  .closeModal:focus-visible,
  .drag-icon:focus-visible {
      outline: 3px solid #005a9e;
      outline-offset: 2px;
  }
