select.cpp_select {

    /* styling */
    background-color: white;
    max-width: 240px;
    border: 2px solid #00000020;
    border-radius: 24px;
    line-height: 1.5em;
    padding: 0.5em 3.5em 0.5em 1em;
    margin: 10px auto;
  
    /* reset */
  
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;

    /* arrow */

    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
  }
  
  select.cpp_select:focus {
    background-image:
      linear-gradient(45deg, #dd4459 50%, transparent 50%),
      linear-gradient(135deg, transparent 50%, #dd4459 50%),
      linear-gradient(to right, #ccc, #ccc);
    background-position:
      calc(100% - 15px) 1em,
      calc(100% - 20px) 1em,
      calc(100% - 2.5em) 0.5em;
    background-size:
      5px 5px,
      5px 5px,
      1px 1.5em;
    background-repeat: no-repeat;
    border-color: #dd4459;
    outline: 0;
  }
  
  
  select.cpp_select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
  }
  
  /* radio button css */

  .cpp_radio_selector {
    display: flex;
    gap: 4px;
    box-sizing: border-box;
    position: relative;
  }
  .cpp_radio_selector * {
    box-sizing: border-box;
  }
  .cpp_radio_selector input.cpp_select_radio {
      display: none;
    visibility: hidden;
  }
  .cpp_radio_selector label {
      padding: 8px 12px;
      margin: 0;
      border: 1px solid #00000040;
      text-align: center;
      cursor: pointer;
      transition: background-color 0.3s, color 0.3s, border-color 0.3s;
      border-radius: 50px;
      overflow: hidden;
      position: relative;
      font-size: 14px;
      font-family: Inter, Roboto, Helvetica, Arial, sans-serif;
  }
  .cpp_radio_selector label:hover {
      background-color: #00000010;
  }
  .cpp_select_radio:checked + label {
      background-color: #E5FFE2;
      color: #000;
      border-color: #1D9F0E;
      font-weight: bold;
      padding-right: 28px;
  }
  .cpp_select_radio:checked + label::before {
      content: '\2714';
      position: absolute;
      right: 6px;
      top: 50%;
      transform: translateY(-50%);
      color: #fff;
      background: #1D9F0E;
      font-size: 11px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
  }
