/* Call and booking buttons */
a[data-lifeline-call],
a[data-lifeline-book] {
    display: inline-flex ;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    min-width: 0 ;
    min-height: 0 ;
    padding: 12px 30px ;
    border: 2px solid #002B40 ;
    border-radius: 30px ;
    background: transparent ;
    background-image: none ;
    box-shadow: none ;
    color: #002B40;
    font-family: Arial, sans-serif ;
    font-size: 14px ;
    font-weight: 600 ;
    line-height: 22px ;
    text-decoration: none ;
    text-transform: uppercase;
    cursor: pointer;
}

a[data-lifeline-call]:hover,
a[data-lifeline-book]:hover {
    background: transparent ;
    border-color: #003e5c ;
    color: #003e5c ;
}

/* Button text and icons follow the button colour */
a[data-lifeline-call] span,
a[data-lifeline-book] span,
a[data-lifeline-call] i,
a[data-lifeline-book] i,
a[data-lifeline-call]::before,
a[data-lifeline-book]::before {
    color: inherit ;
}

a[data-lifeline-call]:focus-visible,
a[data-lifeline-book]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

/* Call links inside headings remain plain text */
.cmsms_heading a[data-lifeline-call],
.cmsms_heading a[data-lifeline-call]:hover {
    display: inline ;
    padding: 0 ;
    border: none ;
    border-radius: 0 ;
    background: transparent ;
    box-shadow: none ;
    font: inherit ;
    color: inherit ;
    text-transform: none ;
}

/* Shared dropdown appearance */
#lifeline-call-menu,
#lifeline-book-menu {
    position: fixed ;
    z-index: 2147483647 ;
    box-sizing: border-box ;
    width: 310px ;
    min-width: 0 ;
    max-width: calc(100vw - 24px) ;
    max-height: calc(100vh - 24px) ;
    overflow: auto ;
    margin: 0 ;
    padding: 10px ;
    border: 1px solid rgba(255, 255, 255, 0.8) ;
    border-radius: 22px ;
    background: rgba(0, 35, 52, 0.85) ;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) ;
    color: #fff ;
    font-family: Arial, sans-serif ;
    text-align: left ;
}

#lifeline-call-menu[hidden],
#lifeline-book-menu[hidden] {
    display: none ;
}

#lifeline-call-menu a,
#lifeline-book-menu a {
    display: block ;
    margin: 0 ;
    padding: 12px 16px ;
    border: none ;
    border-radius: 12px ;
    background: transparent ;
    color: #fff ;
    font-family: Arial, sans-serif ;
    font-size: 15px ;
    font-weight: 600 ;
    line-height: 1.5 ;
    text-decoration: none ;
    text-transform: none ;
    white-space: normal ;
}

#lifeline-call-menu a:hover,
#lifeline-call-menu a:focus,
#lifeline-book-menu a:hover,
#lifeline-book-menu a:focus {
    background: rgba(255, 255, 255, 0.14) ;
    outline: 2px solid rgba(255, 255, 255, 0.8) ;
    outline-offset: -2px;
}

#lifeline-call-menu strong,
#lifeline-call-menu span {
    display: block;
}

#lifeline-call-menu a span {
    margin-top: 4px;
    color: #fff ;
    font-size: 13px ;
    font-weight: 400 ;
}

#lifeline-call-menu p {
    margin: 8px 16px ;
    color: #e0edf3 ;
    font-size: 12px ;
    line-height: 1.5 ;
}