.ast-logo-svg-icon-btn-wrapper {
    display: flex;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn {
    flex: 1 1 auto;
    display: flex;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn:first-child .components-button {
    border-radius: 0 3px 3px 0;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn .components-button {
    border-radius: unset;
    font-size: 12px;
    padding: 9px 0 10px;
    white-space: nowrap;
    color: var(--ast-customizer-color-5);
    text-decoration: none;
    text-shadow: none;
    outline: unset;
    border: 1px solid var(--ast-customizer-color-7);
    width: 100%;
    height: 100%;
    text-align: center;
    justify-content: center;
    border-radius: unset;
    transition: none;
    font-weight: normal;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn button.components-button.is-primary {
    border-color: var(--ast-customizer-color-3);
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn:last-child .components-button {
    border-radius: 3px 0 0 3px;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn .components-button.is-primary {
    color: var(--ast-customizer-color-10);
    background: var(--ast-customizer-color-1);
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn .components-button:focus:not(:disabled) {
    box-shadow: none;
}

.ast-logo-svg-icon-btn-wrapper .ast-logo-svg-icon-btn .components-button:not(.is-primary):hover {
    color: var(--ast-customizer-color-5) !important;
}

/* Modal stylings starts */

.ast-logo-svg-icon-icon-library-default .ast-logo-svg-icon-icon-library-default-icon-selected p {
    text-align: center;
    border: 1px dashed #c3c4c7;
    padding: 10px;
}

.ast-logo-svg-icon-icon-library-default .ast-logo-svg-icon-icon-library-default-icon-selected svg {
    width: 50px;
}

.ast-logo-svg-icon-icon-library-default .ast-logo-svg-icon-icon-library-default-icon-selected .btn-group-icon-selected {
    display: flex;
    gap: 10px;
}

.ast-logo-svg-icon-icon-library-default .btn-select-icon {
    margin-top: 10px;
    cursor: pointer;
    background-color: #f0f0f1;
    color: #2c3338;
    width: 100%;
    position: relative;
    text-align: center;
    border: 1px dashed #c3c4c7;
    box-sizing: border-box;
    padding: 9px 0;
    line-height: 1.6;
}

.ast-logo-svg-icon-icon-library-default .btn-select-icon:hover {
    background-color: #ffffff;
}

.ast-logo-svg-icon-icon-library-modal {
    width: 65%;
    max-height: 85%;
}

.ast-logo-svg-icon-icon-library-header {
    display: flex;
    align-items: baseline;
    height: 65px;
}

.ast-logo-svg-icon-icon-library-header h2 {
    width: 150px;
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    color: #1e1e1e;
}

.ast-logo-svg-icon-search-container {
    flex: 1;
    padding-right: 24px;
}

.ast-logo-svg-icon-search-bar {
    position: relative;
}

.ast-logo-svg-icon-search-bar svg {
    width: 14px;
    height: 14px;
    position: absolute;
    top: calc(18px - 7px);
    color: #555d66;
    fill: #555d66;
    transform: rotateZ(-90deg);
    right: 12px;
}

.ast-logo-svg-icon-search-bar input[type="text"] {
    height: 36px;
    width: 100%;
    padding: 7px calc(12px* 2 + 14px) 7px 12px;
    border: 1px solid #e6e7e9;
    margin: 0;
    border-radius: 2px;
    color: #1d2327;
}

.ast-logo-svg-icon-icon-library-container .components-flex .svg-icons-list-flexbox .svg-icons-list {
    height: 35em;
    overflow: hidden scroll;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-categories button {
    border: none;
    cursor: pointer;
    padding: 15px 10px 15px 0px;
    background: none;
    width: 100%;
    text-align: right;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-categories button.selected,
.ast-logo-svg-icon-icon-library-container .svg-icons-categories button:hover {
    background: #dcf2ff;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list {
    display: grid;
    padding: 5px 15px;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    grid-gap: 10px;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .icon-not-available {
    display: flex;
    gap: 10px;
    align-items: center;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .icon-not-available svg {
    width: 18px;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .icon-not-available span {
    font-size: 18px;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .svg-icon {
    padding: 15px;
    background-color: #ffffff;
    border: 1px solid #e6e7e9;
    border-radius: 3px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 7em;
    align-items: center;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .svg-icon.selected {
    outline: 2px solid;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .svg-icon:hover:not(.selected) svg {
    transform: scale(1.55);
    transition: transform 0.2s;
}

.ast-logo-svg-icon-icon-library-container .svg-icons-list .svg-icon svg {
    width: 20px;
    height: 20px;
}

.components-modal__frame.ast-logo-svg-icon-icon-library-modal .components-modal__content .ast-logo-svg-icon-icon-library-footer {
    text-align: left;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
}

.components-modal__frame.ast-logo-svg-icon-icon-library-modal .components-modal__content .ast-logo-svg-icon-icon-library-footer>button {
    font-size: 13px;
    border: none;
    border-radius: 2px;
    width: 89px;
    height: 36px;
    cursor: pointer;
    display: flex;
    justify-content: center;
}

.components-modal__frame.ast-logo-svg-icon-icon-library-modal .components-modal__content {
    padding: 30px 24px;
    margin: 0;
}

.components-modal__frame.ast-logo-svg-icon-icon-library-modal .components-modal__content .components-modal__header {
    display: none;
}

/* Modal stylings ends */

.ast-logo-svg-icon-element-custom {
    margin-top: 10px;
}

.ast-logo-svg-icon-element-custom textarea {
    width: 100%;
    height: 10em;
}

/* Focus Management Styles - WCAG 2.1 Compliance */
/* Added for keyboard accessibility and screen reader support */

/* Button Focus Styles */
.hvac-button:focus,
.hvac-content .button:focus,
.hvac-content button:focus,
.hvac-content input[type="submit"]:focus,
.hvac-email-submit:focus,
.hvac-filter-submit:focus,
.hvac-certificate-actions button:focus,
.hvac-certificate-actions a:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
    border-radius: 4px;
}

/* Input Focus Styles */
.hvac-form-input:focus,
.hvac-content input[type="text"]:focus,
.hvac-content input[type="email"]:focus,
.hvac-content input[type="password"]:focus,
.hvac-content input[type="url"]:focus,
.hvac-content textarea:focus,
.hvac-content select:focus,
.hvac-email-form-row input:focus,
.hvac-email-form-row textarea:focus,
.hvac-filter-group input:focus,
.hvac-filter-group select:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
    border-color: #005fcc;
    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
}

/* Link Focus Styles */
.hvac-content a:focus,
.hvac-event-link:focus,
.hvac-certificate-link:focus,
.hvac-attendee-profile-icon:focus,
.hvac-dashboard-nav a:focus,
.hvac-email-navigation a:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
    text-decoration: underline;
    background-color: rgba(0, 95, 204, 0.1);
    border-radius: 2px;
}

/* Interactive Element Focus Styles */
.hvac-attendee-checkbox:focus,
.hvac-select-all-container input[type="checkbox"]:focus,
.hvac-modal-close:focus,
.hvac-certificate-table tr:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .hvac-content *:focus {
        outline: 3px solid #000000;
        outline-offset: 2px;
        background-color: #ffff00;
        color: #000000;
    }
}

/* Focus-visible polyfill support */

/* Reset focus for mouse users while preserving keyboard accessibility */
.js-focus-visible :focus:not(.focus-visible) {
    outline: none;
    box-shadow: none;
}

/* Ensure focus is visible for keyboard users */
.js-focus-visible .focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}
