    /* Click to call widget style */
    body {
      font: 80%/1.5 system-ui, sans-serif;
      background: radial-gradient(circle at top left,   #1a45bd 0, #0f172a 45%, #0f766e 100%);
      color: white;
      height: 100vh;
      margin: 0;
      display: grid;
      place-items: center;
      padding: 1.5rem;
    }

    #main_div {
      width: 100%;
      max-width: 420px;
    }

    /* Card that wraps the call widget */
    .c2c_card {
      background: rgba(15, 23, 42, 0.92);
      border-radius: 16px;
      padding: 24px 24px 20px;
      box-shadow: 0 18px 45px rgba(15, 23, 42, 0.7);
      border: 1px solid rgba(148, 163, 184, 0.3);
      backdrop-filter: blur(14px);
    }

    .c2c_card_title {
      margin: 0 0 4px;
      font-size: 1.4rem;
      font-weight: 600;
      letter-spacing: 0.01em;
    }

    .c2c_card_hint {
      margin: 0 0 16px;
      font-size: 0.9rem;
      color: #e5e7eb;
    }
    
    a {
      color: #56BBF9;
    }

    /* Connection quality. Optional. */
     #c2c_connection_speed_div {
         display: none; 
         font-size: 18px;		 
     }

    /* Test call quality. Optional. */
    #c2c_test_call_quality_div {
        display: none; 
        font-size: 18px;		 
    }

    /* Widget. Contains call buttons */
    #c2c_widget_div {
        padding: 10px 0 0;
        width: 100%;
    }

    /* Phone status line.
       HTML with possible styles set as argument of c2c_info() method
    */
    #c2c_status_line {
        display: inline-block;
    } 

    /* Select devices button. Optional. Can be hidden */
    #c2c_select_devices_btn {
        font-size: 18px;
        padding-top: 2px;
        margin-right: 8px;
        display: none; /* hide select devices */
    }

    #c2c_select_devices_svg {
        width: 22px;
        height: 22px;      
    }

    /* Keypad button. Optional. Can be hidden */
    #c2c_keypad_btn {
        font-size: 18px;
        padding-top: 2px;
        display: none;
    }
    
    #c2c_keypad_svg {
        width:  26px;
        height: 26px;
        fill: white;
        stroke: black;
    }

    /* Test call button and SVG icon. Optional. Can be hidden */
    #c2c_test_btn {
        font-size: 18px;
        padding-top: 2px;
        display: none; /* hide test quality gui */
    }
    
    #c2c_test_svg {
        width: 22px;
        height: 22px;
    }  

    /* Screen sharing button */
    #c2c_screen_sharing_btn {
        font-size: 18px;
        padding-top: 2px;
        display: none;
    }

    #c2c_screen_sharing_svg {
        width: 26px;
        height: 26px;
    } 

    /* Main call button and SVG icon */
    #c2c_call_btn {
        font-size: 18px;
        color: rgba(15, 23, 42, 0.92);
        font-weight: bold;
        padding-top: 2px;
        padding-bottom: 2px;
        padding-left: 10px;
        padding-right: 30px;
        display: none;
        border-radius: 5px;
        text-align: center;               /* center content horizontally */
        vertical-align: middle;           /* align button with neighbors */
        transition: transform 0.1s ease, box-shadow 0.1s ease;
    }

    #c2c_call_btn svg,
    #c2c_call_btn span {
        vertical-align: middle;           /* center icon and text on same line */
    }

    #c2c_call_btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    }
    
    #c2c_call_svg {
        width: 22px;
        height: 22px;
    }

    /* Call button hangup look */
    .c2c_call_btn_hangup {
        background-color: lightpink;
        border-color: lightpink;
    }
    
    /* Call button ready look */
    .c2c_call_btn_ready {
        background-color: rgb(94, 230, 94);
        border-color: rgb(94, 230, 94);
    }

    
    /* Call button SVG icon can be in one of the states: */
    .c2c_call_svg_disabled {
        transform: rotate(-90deg);
        fill: gray;
    }
    
    .c2c_call_svg_ready {
        transform: rotate(-90deg);
        fill: DodgerBlue;
    }
    
    .c2c_call_svg_hangup {
        fill: DeepPink;
    }
    
    .c2c_call_svg_calling {
        animation: colorChange 4s infinite linear;
    }
    
    /* Call button SVG icon color animation during calling */
    @keyframes colorChange {
        100% {
            fill: #99e6ff;
        }
        90% {
            fill: #66d9ff;
        }
        80% {
            fill: #33ccff;
        }
        70% {
            fill: #00bfff;
        }
        60% {
            fill: #0099cc;
        }
        50% {
            fill: #007399;
        }
        40% {
            fill: #004d66;
        }
        30% {
            fill: #007399;
        }
        20% {
            fill: #0099cc;
        }
        10% {
            fill: #00bfff;
        }
        0% {
            fill: #33ccff;
        }
    }

    #c2c_video_chk_span {
        color: #150cef;
        display: none;
    }

    #c2c_camera_btn {
        padding: 0px 5px 3px 5px;
        border: 0px none  #99e6ff;
        background-color: #99e6ff;
        display: none;    
    }

    #c2c_camera_svg {
        width:  26px;
        height: 26px;
        fill: white;
        stroke: black;
    }

    #c2c_camera_line_svg.c2c_camera_on {
        stroke: none;
    }
    
    #c2c_camera_line_svg.c2c_camera_off {
        stroke: black;
    }

    #c2c_self_video_chk_span {
        display: none;
    }

    #c2c_select_devices_div {
        display: none;
    }

    #c2c_keypad_div {
        display: none;
    }

    #c2c_keypad_table {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        text-align: center;
        margin: 10px auto;
    }

    #c2c_keypad_table tr td {
        vertical-align: middle;
        text-align: center;
        border: 1px solid #000000;
        font-size: 18px;
        font-weight: bold;
        width: 40px;
        height: 30px;
        cursor: pointer;
        background-color: #666666;
        color: #CCCCCC;
    }

    #c2c_keypad_table tr td:hover {
        background-color: #999999;
        color: #FFFF00;
    }

    #c2c_video_div {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
