/* Widget Container & Reset to prevent host site CSS from breaking the widget */
    .a11y-widget-container {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        box-sizing: border-box;
    }
    .a11y-widget-container *, .a11y-widget-container *:before, .a11y-widget-container *:after {
        box-sizing: border-box;
    }

    /* Floating Action Button (Bottom Left) */
    .a11y-fab {
        position: fixed;
        bottom: 20px;
        left: 20px;
        width: 56px;
        height: 56px;
        background-color: #0056b3;
        color: white;
        border: none;
        border-radius: 50%;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        cursor: pointer;
        z-index: 2147483647;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease, background-color 0.3s ease;
    }
    .a11y-fab:hover {
        transform: scale(1.05);
        background-color: #004494;
    }
    .a11y-fab svg {
        width: 28px;
        height: 28px;
        fill: currentColor;
    }

    /* Accessibility Panel */
    .a11y-panel {
        position: fixed;
        bottom: 90px;
        left: 20px;
        width: 340px;
        max-height: 80vh;
        background: #ffffff;
        border-radius: 16px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
        z-index: 2147483646;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        
        opacity: 0;
        visibility: hidden;
        transform: translateY(20px);
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    }
    .a11y-panel.a11y-active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    /* Panel Header */
    .a11y-header {
        background-color: #0056b3;
        color: white;
        padding: 16px 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 16px;
        font-weight: 600;
    }
    .a11y-close-btn {
        background: transparent;
        border: none;
        color: white;
        cursor: pointer;
        padding: 4px;
        display: flex;
        border-radius: 4px;
        transition: background 0.2s;
    }
    .a11y-close-btn:hover {
        background: rgba(255, 255, 255, 0.2);
    }

    /* Panel Body & Grid */
    .a11y-body {
        padding: 16px;
        overflow-y: auto;
        background-color: #f8f9fa;
    }
    .a11y-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    /* Tool Buttons */
    .a11y-tool-btn {
        background: #ffffff;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        padding: 12px 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s ease;
        text-align: center;
        color: #495057;
    }
    .a11y-tool-btn:hover {
        border-color: #0056b3;
        color: #0056b3;
        box-shadow: 0 4px 8px rgba(0,86,179,0.1);
    }
    .a11y-tool-icon {
        width: 24px;
        height: 24px;
        margin-bottom: 8px;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        fill: none;
    }
    .a11y-tool-label {
        font-size: 11px;
        font-weight: 500;
        line-height: 1.2;
    }

    /* Active State Class */
    .a11y-tool-btn.active {
        background: #e6f0ff;
        border-color: #0056b3;
        color: #0056b3;
    }

    /* Reset Button Area */
    .a11y-footer {
        padding: 16px;
        background-color: #ffffff;
        border-top: 1px solid #e9ecef;
    }
    .a11y-reset-btn {
        width: 100%;
        padding: 10px;
        background-color: #ffe6e6;
        color: #d32f2f;
        border: none;
        border-radius: 8px;
        font-weight: 600;
        cursor: pointer;
        transition: background-color 0.2s;
    }
    .a11y-reset-btn:hover {
        background-color: #ffcccc;
    }

    /* User's Provided CSS */
    .hightlight_link { background: yellow !important; color: red !important; border-radius: 10px !important; padding: 5px !important; border: solid 2px red; }
    .hightlight_heading { background-color: white; color: rgb(4, 0, 255) !important; border-radius: 10px !important; padding: 5px !important; border: solid 2px rgb(0, 47, 255); }
    .custom-cursor { width: 20px; height: 20px; background-color: #03A9F4; border-radius: 50%; position: fixed; pointer-events: none; transform: translate(-50%, -50%); transition: width 0.2s linear, height 0.2s linear; z-index: 10000; }
    .dark_theme { background-color: black !important; color: white !important; }
    .no-animation, .no-animation * { -webkit-animation: none !important; animation: none !important; -webkit-transition: none !important; transition: none !important; }


	.hide-on-mobile{ display:block; }
	@media only screen and (max-width: 600px) {
		.hide-on-mobile{display:none;}
	}
