@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://db.onlinewebfonts.com/c/e2b44c64a049a9e50d471e9b851e88f5?family=Tagmarker');
@import url('https://db.onlinewebfonts.com/c/2d6cbf09dd8de35e87023982d4501027?family=Upheaval+TT+-BRK-');

/* ==========================================================================
   PAGE WRAPPER FOR DYNAMIC ZOOM SCALING
   ========================================================================== */

#acc-page-wrapper {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* ==========================================================================
   FONT TYPE OVERRIDES (strictly excluding the accessibility panel)
   ========================================================================== */

/* Serif (Georgia - Oposto da padrão) */
body.acc-font-serif p:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif span:not(.acc-exclude):not(.acc-exclude *):not(.material-icons),
body.acc-font-serif a:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif td:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif th:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif li:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif label:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h1:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h2:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h3:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h4:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h5:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif h6:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif input:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif textarea:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-serif select:not(.acc-exclude):not(.acc-exclude *) {
    font-family: Georgia, 'Times New Roman', serif !important;
}

/* Dyslexia Friendly (Comic Neue - Doodle, amigável) */
body.acc-font-dyslexic p:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic span:not(.acc-exclude):not(.acc-exclude *):not(.material-icons),
body.acc-font-dyslexic a:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic td:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic th:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic li:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic label:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h1:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h2:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h3:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h4:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h5:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic h6:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic input:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic textarea:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-dyslexic select:not(.acc-exclude):not(.acc-exclude *) {
    font-family: 'Comic Neue', 'Comic Sans MS', cursive, sans-serif !important;
    letter-spacing: 0.05em !important;
    word-spacing: 0.1em !important;
}

/* Atkinson Hyperlegible (Hiperlegível) */
body.acc-font-hyperlegible p:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible span:not(.acc-exclude):not(.acc-exclude *):not(.material-icons),
body.acc-font-hyperlegible a:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible td:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible th:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible li:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible label:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h1:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h2:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h3:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h4:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h5:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible h6:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible input:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible textarea:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-hyperlegible select:not(.acc-exclude):not(.acc-exclude *) {
    font-family: 'Atkinson Hyperlegible', sans-serif !important;
}

/* Limbus Company (Tagmarker) */
body.acc-font-limbus p:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus span:not(.acc-exclude):not(.acc-exclude *):not(.material-icons),
body.acc-font-limbus a:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus td:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus th:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus li:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus label:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h1:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h2:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h3:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h4:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h5:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus h6:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus input:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus textarea:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-limbus select:not(.acc-exclude):not(.acc-exclude *) {
    font-family: 'Tagmarker', sans-serif !important;
}

/* Binding of Isaac (Upheaval TT -BRK-) */
body.acc-font-isaac p:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac span:not(.acc-exclude):not(.acc-exclude *):not(.material-icons),
body.acc-font-isaac a:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac td:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac th:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac li:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac label:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h1:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h2:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h3:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h4:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h5:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac h6:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac input:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac textarea:not(.acc-exclude):not(.acc-exclude *),
body.acc-font-isaac select:not(.acc-exclude):not(.acc-exclude *) {
    font-family: 'Upheaval TT -BRK-', sans-serif !important;
}



/* ==========================================================================
   BUTTON SIZE OVERRIDES (proportional scaling to prevent layout shifts)
   ========================================================================== */

/* Small Buttons (-20%) */
body.acc-btn-sm .btn2:not(.acc-exclude):not(.acc-exclude *) { font-size: 16px !important; padding: 5px 12px !important; }
body.acc-btn-sm .btn2small:not(.acc-exclude):not(.acc-exclude *) { font-size: 13px !important; padding: 3px 7px !important; }
body.acc-btn-sm .btnSignGray:not(.acc-exclude):not(.acc-exclude *) { font-size: 11px !important; padding: 6px 10px !important; }
body.acc-btn-sm .btn-auth:not(.acc-exclude):not(.acc-exclude *) { height: 18px !important; line-height: 18px !important; font-size: 11px !important; }

body.acc-btn-sm button:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm input[type="button"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm input[type="submit"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .carousel-tab-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .carousel-card-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .btn-create-about:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .btn-toggle-form:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .btn-submit:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-sm .legislation-btn:not(.acc-exclude):not(.acc-exclude *) {
    font-size: 0.85em !important;
    padding: 0.5em 1em !important;
    height: auto !important;
    line-height: normal !important;
}

/* Large Buttons (+25%) */
body.acc-btn-lg .btn2:not(.acc-exclude):not(.acc-exclude *) { font-size: 25px !important; padding: 11px 26px !important; }
body.acc-btn-lg .btn2small:not(.acc-exclude):not(.acc-exclude *) { font-size: 20px !important; padding: 8px 16px !important; }
body.acc-btn-lg .btnSignGray:not(.acc-exclude):not(.acc-exclude *) { font-size: 14px !important; padding: 14px 20px !important; }
body.acc-btn-lg .btn-auth:not(.acc-exclude):not(.acc-exclude *) { height: 28px !important; line-height: 28px !important; font-size: 17px !important; }

body.acc-btn-lg button:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg input[type="button"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg input[type="submit"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .carousel-tab-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .carousel-card-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .btn-create-about:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .btn-toggle-form:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .btn-submit:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-lg .legislation-btn:not(.acc-exclude):not(.acc-exclude *) {
    font-size: 1.15em !important;
    padding: 0.7em 1.4em !important;
    height: auto !important;
    line-height: normal !important;
}

/* Giant Buttons (+50%) */
body.acc-btn-xl .btn2:not(.acc-exclude):not(.acc-exclude *) { font-size: 30px !important; padding: 15px 32px !important; }
body.acc-btn-xl .btn2small:not(.acc-exclude):not(.acc-exclude *) { font-size: 24px !important; padding: 11px 22px !important; }
body.acc-btn-xl .btnSignGray:not(.acc-exclude):not(.acc-exclude *) { font-size: 18px !important; padding: 18px 26px !important; }
body.acc-btn-xl .btn-auth:not(.acc-exclude):not(.acc-exclude *) { height: 34px !important; line-height: 34px !important; font-size: 20px !important; }

body.acc-btn-xl button:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl input[type="button"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl input[type="submit"]:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .carousel-tab-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .carousel-card-btn:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .btn-create-about:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .btn-toggle-form:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .btn-submit:not(.acc-exclude):not(.acc-exclude *),
body.acc-btn-xl .legislation-btn:not(.acc-exclude):not(.acc-exclude *) {
    font-size: 1.3em !important;
    padding: 0.8em 1.6em !important;
    height: auto !important;
    line-height: normal !important;
}


/* ==========================================================================
   THEME: DARK (Escuro)
   ========================================================================== */

body.theme-dark {
    background-color: #0b0f19 !important;
    color: #e2e8f0 !important;
}

/* Fix: Override inline white backgrounds on containers in Dark Theme */
body.theme-dark div[style*="background-color: #fff"],
body.theme-dark div[style*="background-color: #ffffff"],
body.theme-dark div[style*="background-color:#fff"],
body.theme-dark div[style*="background-color:#ffffff"],
body.theme-dark div[style*="background-color: rgb(255, 255, 255)"],
body.theme-dark div[style*="background: #fff"],
body.theme-dark div[style*="background: #ffffff"],
body.theme-dark div[style*="background:#fff"],
body.theme-dark div[style*="background:#ffffff"],
body.theme-dark table[style*="background-color: white"],
body.theme-dark table[style*="background-color: #fff"],
body.theme-dark table[style*="background-color: #ffffff"],
body.theme-dark table[style*="background-color:rgb(255, 255, 255)"],
body.theme-dark td[style*="background-color: #fff"],
body.theme-dark td[style*="background-color: #ffffff"],
body.theme-dark td[style*="background-color:#fff"],
body.theme-dark td[style*="background-color:#ffffff"],
body.theme-dark td[style*="background-color: rgb(255, 255, 255)"] {
    background-color: #0b0f19 !important;
    background: #0b0f19 !important;
}

body.theme-dark .wrapper {
    background-image: none !important;
    background-color: #111827 !important;
}

body.theme-dark .pcontent {
    background-color: #1f2937 !important;
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.03) !important;
}

body.theme-dark .pethead {
    background-color: #0f766e !important;
    color: #ccfbf1 !important;
}

body.theme-dark .zsection {
    background-color: #1f2937 !important;
    border-right-color: #374151 !important;
}

body.theme-dark .pRside {
    background-color: #111827 !important;
}

body.theme-dark .petFooter {
    background-color: #1f2937 !important;
}

body.theme-dark .footer {
    background-color: #111827 !important;
    border-top-color: #374151 !important;
}

body.theme-dark .secondfooter {
    background-color: #030712 !important;
    color: #9ca3af !important;
}

body.theme-dark .secondfooter a {
    color: #9ca3af !important;
}

body.theme-dark .create-change {
    background-color: #1e293b !important;
    border-color: #0f766e !important;
    color: #cbd5e1 !important;
}

body.theme-dark .create-change h2 {
    color: #f8fafc !important;
    text-shadow: none !important;
}

body.theme-dark .petition-victories {
    background-color: #0f172a !important;
}

body.theme-dark .petition-victories h2 {
    color: #f8fafc !important;
}

body.theme-dark .project-card {
    background-color: #1e293b !important;
    background-image: none !important;
    border-color: #374151 !important;
}

body.theme-dark .petpopborder {
    background-color: #1f2937 !important;
}

body.theme-dark .box, body.theme-dark .nbox {
    background-color: #1f2937 !important;
    box-shadow: none !important;
    border-color: #374151 !important;
}

body.theme-dark h1:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark h2:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark h3:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark h4:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark h5:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark h6:not(.acc-exclude):not(.acc-exclude *),
body.theme-dark p:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark span:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark td:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark th:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark li:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark label:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark div:not(.header):not(.innerHeader):not(.acc-exclude):not(.acc-exclude *) {
    color: #e2e8f0 !important;
}

body.theme-dark a:not(.acc-exclude):not(.acc-exclude *) {
    color: #38bdf8 !important;
}

body.theme-dark a:hover:not(.acc-exclude):not(.acc-exclude *) {
    color: #ffffff !important;
}

body.theme-dark #ulCat li a:not(.acc-exclude):not(.acc-exclude *) {
    color: #38bdf8 !important;
}

body.theme-dark input[type="text"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark input[type="password"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark input[type="email"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark textarea:not(.acc-exclude):not(.acc-exclude *), 
body.theme-dark select:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #4b5563 !important;
}

body.theme-dark .emailnewsletter:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #1e293b !important;
    border: 1px solid #4b5563 !important;
}

body.theme-dark .emailnewsletter input:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

body.theme-dark .zebra .odd, body.theme-dark .zebra2 .odd {
    background-color: #1e293b !important;
}

body.theme-dark .zebra .even, body.theme-dark .zebra2 .even {
    background-color: #0f172a !important;
}

body.theme-dark .zebra td, body.theme-dark .zebra2 td {
    color: #cbd5e1 !important;
}


/* ==========================================================================
   THEME: HIGH CONTRAST (Alto Contraste)
   ========================================================================== */

body.theme-contrast {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Fix: Override inline white backgrounds on containers in Contrast Theme */
body.theme-contrast div[style*="background-color: #fff"],
body.theme-contrast div[style*="background-color: #ffffff"],
body.theme-contrast div[style*="background-color:#fff"],
body.theme-contrast div[style*="background-color:#ffffff"],
body.theme-contrast div[style*="background-color: rgb(255, 255, 255)"],
body.theme-contrast div[style*="background: #fff"],
body.theme-contrast div[style*="background: #ffffff"],
body.theme-contrast div[style*="background:#fff"],
body.theme-contrast div[style*="background:#ffffff"],
body.theme-contrast table[style*="background-color: white"],
body.theme-contrast table[style*="background-color: #fff"],
body.theme-contrast table[style*="background-color: #ffffff"],
body.theme-contrast table[style*="background-color:rgb(255, 255, 255)"],
body.theme-contrast td[style*="background-color: #fff"],
body.theme-contrast td[style*="background-color: #ffffff"],
body.theme-contrast td[style*="background-color:#fff"],
body.theme-contrast td[style*="background-color:#ffffff"],
body.theme-contrast td[style*="background-color: rgb(255, 255, 255)"] {
    background-color: #000000 !important;
    background: #000000 !important;
}

body.theme-contrast .wrapper {
    background-image: none !important;
    background-color: #000000 !important;
}

body.theme-contrast .pcontent,
body.theme-contrast .pethead, body.theme-contrast .petFooter, body.theme-contrast .footer,
body.theme-contrast .secondfooter, body.theme-contrast .create-change, body.theme-contrast .petition-victories,
body.theme-contrast .project-card, body.theme-contrast .petpopborder, body.theme-contrast .box, body.theme-contrast .nbox {
    background-color: #000000 !important;
    background-image: none !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

body.theme-contrast .zsection,
body.theme-contrast .pRside {
    background-color: #000000 !important;
    background-image: none !important;
    border: none !important;
}

body.theme-contrast h1:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast h2:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast h3:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast h4:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast h5:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast h6:not(.acc-exclude):not(.acc-exclude *),
body.theme-contrast p:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast span:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast td:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast th:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast li:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast label:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast div:not(.header):not(.innerHeader):not(.acc-exclude):not(.acc-exclude *) {
    color: #ffff00 !important; /* Yellow text is standard for high contrast */
}

body.theme-contrast a:not(.acc-exclude):not(.acc-exclude *) {
    color: #00ffff !important; /* Cyan links */
    text-decoration: underline !important;
}

body.theme-contrast a:hover:not(.acc-exclude):not(.acc-exclude *) {
    color: #ffffff !important;
}

body.theme-contrast input:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast textarea:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast select:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}

/* Use inset box-shadow instead of border to prevent button sizing and layout shifts */
body.theme-contrast .btn2:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast .btn2small:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast button:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast input[type="submit"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast .emailnewsletter a:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast .btnSignGray:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast .btn-auth:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #000000 !important;
    background-image: none !important;
    color: #ffff00 !important;
    box-shadow: inset 0 0 0 2px #ffff00 !important;
    border: none !important;
}

body.theme-contrast .zebra .odd, body.theme-contrast .zebra2 .odd,
body.theme-contrast .zebra .even, body.theme-contrast .zebra2 .even {
    background-color: #000000 !important;
    border-bottom: 1px solid #ffffff !important;
}


/* ==========================================================================
   THEME: SOLARIZED LIGHT (Warm Cream)
   ========================================================================== */

body.theme-solarized-light {
    background-color: #fdf6e3 !important;
    color: #586e75 !important;
}

/* Fix: Override inline white backgrounds on containers in Solarized Light Theme */
body.theme-solarized-light div[style*="background-color: #fff"],
body.theme-solarized-light div[style*="background-color: #ffffff"],
body.theme-solarized-light div[style*="background-color:#fff"],
body.theme-solarized-light div[style*="background-color:#ffffff"],
body.theme-solarized-light div[style*="background-color: rgb(255, 255, 255)"],
body.theme-solarized-light div[style*="background: #fff"],
body.theme-solarized-light div[style*="background: #ffffff"],
body.theme-solarized-light div[style*="background:#fff"],
body.theme-solarized-light div[style*="background:#ffffff"],
body.theme-solarized-light table[style*="background-color: white"],
body.theme-solarized-light table[style*="background-color: #fff"],
body.theme-solarized-light table[style*="background-color: #ffffff"],
body.theme-solarized-light table[style*="background-color:rgb(255, 255, 255)"],
body.theme-solarized-light td[style*="background-color: #fff"],
body.theme-solarized-light td[style*="background-color: #ffffff"],
body.theme-solarized-light td[style*="background-color:#fff"],
body.theme-solarized-light td[style*="background-color:#ffffff"],
body.theme-solarized-light td[style*="background-color: rgb(255, 255, 255)"] {
    background-color: #f5efe6 !important;
    background: #f5efe6 !important;
}

body.theme-solarized-light .wrapper {
    background-image: none !important;
    background-color: #fcfbf9 !important;
}

body.theme-solarized-light .pcontent {
    background-color: #ffffff !important;
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.05) !important;
}

body.theme-solarized-light .pethead {
    background-color: #475a18 !important;
    color: #ffffff !important;
}

body.theme-solarized-light .zsection {
    background-color: #ffffff !important;
    border-right-color: #eee8d5 !important;
}

body.theme-solarized-light .pRside {
    background-color: #faf8f5 !important;
}

body.theme-solarized-light .petFooter {
    background-color: #faf8f5 !important;
}

body.theme-solarized-light .footer {
    background-color: #2b3a0a !important;
    border-top-color: #475a18 !important;
}

body.theme-solarized-light .secondfooter {
    background-color: #1c2804 !important;
    color: #a3b890 !important;
}

body.theme-solarized-light .secondfooter a {
    color: #a3b890 !important;
}

body.theme-solarized-light .create-change {
    background-color: #fcfbf9 !important;
    border-color: #475a18 !important;
    color: #2d2722 !important;
}

body.theme-solarized-light .create-change h2 {
    color: #2d2722 !important;
    text-shadow: none !important;
}

body.theme-solarized-light .petition-victories {
    background-color: #faf8f5 !important;
}

body.theme-solarized-light .petition-victories h2 {
    color: #2d2722 !important;
}

body.theme-solarized-light .project-card {
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #eee8d5 !important;
}

body.theme-solarized-light .petpopborder {
    background-color: #ffffff !important;
}

body.theme-solarized-light .box, body.theme-solarized-light .nbox {
    background-color: #ffffff !important;
    box-shadow: none !important;
    border-color: #475a18 !important;
}

body.theme-solarized-light h1:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light h2:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light h3:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light h4:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light h5:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light h6:not(.acc-exclude):not(.acc-exclude *),
body.theme-solarized-light p:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light span:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light td:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light th:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light li:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light label:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light div:not(.header):not(.innerHeader):not(.acc-exclude):not(.acc-exclude *) {
    color: #2d2722 !important;
}

body.theme-solarized-light a:not(.acc-exclude):not(.acc-exclude *) {
    color: #1d4ed8 !important;
}

body.theme-solarized-light a:hover:not(.acc-exclude):not(.acc-exclude *) {
    color: #0f172a !important;
}

body.theme-solarized-light #ulCat li a:not(.acc-exclude):not(.acc-exclude *) {
    color: #1d4ed8 !important;
}

body.theme-solarized-light input[type="text"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light input[type="password"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light input[type="email"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light textarea:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-light select:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #faf8f5 !important;
    color: #2d2722 !important;
    border-color: #d3c7a9 !important;
}

body.theme-solarized-light .emailnewsletter:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #faf8f5 !important;
    border: 1px solid #d3c7a9 !important;
}

body.theme-solarized-light .emailnewsletter input:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #faf8f5 !important;
    color: #2d2722 !important;
}

body.theme-solarized-light .zebra .odd, body.theme-solarized-light .zebra2 .odd {
    background-color: #faf8f5 !important;
}

body.theme-solarized-light .zebra .even, body.theme-solarized-light .zebra2 .even {
    background-color: #ffffff !important;
}

body.theme-solarized-light .zebra td, body.theme-solarized-light .zebra2 td {
    color: #2d2722 !important;
}


/* ==========================================================================
   THEME: SOLARIZED DARK (Warm Dark Blue)
   ========================================================================== */

body.theme-solarized-dark {
    background-color: #002b36 !important;
    color: #93a1a1 !important;
}

/* Fix: Override inline white backgrounds on containers in Solarized Dark Theme */
body.theme-solarized-dark div[style*="background-color: #fff"],
body.theme-solarized-dark div[style*="background-color: #ffffff"],
body.theme-solarized-dark div[style*="background-color:#fff"],
body.theme-solarized-dark div[style*="background-color:#ffffff"],
body.theme-solarized-dark div[style*="background-color: rgb(255, 255, 255)"],
body.theme-solarized-dark div[style*="background: #fff"],
body.theme-solarized-dark div[style*="background: #ffffff"],
body.theme-solarized-dark div[style*="background:#fff"],
body.theme-solarized-dark div[style*="background:#ffffff"],
body.theme-solarized-dark table[style*="background-color: white"],
body.theme-solarized-dark table[style*="background-color: #fff"],
body.theme-solarized-dark table[style*="background-color: #ffffff"],
body.theme-solarized-dark table[style*="background-color:rgb(255, 255, 255)"],
body.theme-solarized-dark td[style*="background-color: #fff"],
body.theme-solarized-dark td[style*="background-color: #ffffff"],
body.theme-solarized-dark td[style*="background-color:#fff"],
body.theme-solarized-dark td[style*="background-color:#ffffff"],
body.theme-solarized-dark td[style*="background-color: rgb(255, 255, 255)"] {
    background-color: #0a0f0d !important;
    background: #0a0f0d !important;
}

body.theme-solarized-dark .wrapper {
    background-image: none !important;
    background-color: #121a16 !important;
}

body.theme-solarized-dark .pcontent {
    background-color: #1b2621 !important;
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.02) !important;
}

body.theme-solarized-dark .pethead {
    background-color: #5f870e !important;
    color: #f7fbda !important;
}

body.theme-solarized-dark .zsection {
    background-color: #1b2621 !important;
    border-right-color: #2d3d35 !important;
}

body.theme-solarized-dark .pRside {
    background-color: #121a16 !important;
}

body.theme-solarized-dark .petFooter {
    background-color: #1b2621 !important;
}

body.theme-solarized-dark .footer {
    background-color: #121a16 !important;
    border-top-color: #5f870e !important;
}

body.theme-solarized-dark .secondfooter {
    background-color: #090e0b !important;
    color: #8fa096 !important;
}

body.theme-solarized-dark .secondfooter a {
    color: #8fa096 !important;
}

body.theme-solarized-dark .create-change {
    background-color: #1b2621 !important;
    border-color: #5f870e !important;
    color: #e8ece9 !important;
}

body.theme-solarized-dark .create-change h2 {
    color: #e8ece9 !important;
    text-shadow: none !important;
}

body.theme-solarized-dark .petition-victories {
    background-color: #121a16 !important;
}

body.theme-solarized-dark .petition-victories h2 {
    color: #e8ece9 !important;
}

body.theme-solarized-dark .project-card {
    background-color: #1b2621 !important;
    background-image: none !important;
    border-color: #2d3d35 !important;
}

body.theme-solarized-dark .petpopborder {
    background-color: #1b2621 !important;
}

body.theme-solarized-dark .box, body.theme-solarized-dark .nbox {
    background-color: #1b2621 !important;
    box-shadow: none !important;
    border-color: #5f870e !important;
}

body.theme-solarized-dark h1:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark h2:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark h3:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark h4:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark h5:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark h6:not(.acc-exclude):not(.acc-exclude *),
body.theme-solarized-dark p:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark span:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark td:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark th:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark li:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark label:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark div:not(.header):not(.innerHeader):not(.acc-exclude):not(.acc-exclude *) {
    color: #e8ece9 !important;
}

body.theme-solarized-dark a:not(.acc-exclude):not(.acc-exclude *) {
    color: #a3e635 !important;
}

body.theme-solarized-dark a:hover:not(.acc-exclude):not(.acc-exclude *) {
    color: #ffffff !important;
}

body.theme-solarized-dark #ulCat li a:not(.acc-exclude):not(.acc-exclude *) {
    color: #a3e635 !important;
}

body.theme-solarized-dark input[type="text"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark input[type="password"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark input[type="email"]:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark textarea:not(.acc-exclude):not(.acc-exclude *), 
body.theme-solarized-dark select:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #121a16 !important;
    color: #e8ece9 !important;
    border-color: #2d3d35 !important;
}

body.theme-solarized-dark .emailnewsletter:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #121a16 !important;
    border: 1px solid #2d3d35 !important;
}

body.theme-solarized-dark .emailnewsletter input:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #121a16 !important;
    color: #e8ece9 !important;
}

body.theme-solarized-dark .zebra .odd, body.theme-solarized-dark .zebra2 .odd {
    background-color: #1b2621 !important;
}

body.theme-solarized-dark .zebra .even, body.theme-solarized-dark .zebra2 .even {
    background-color: #121a16 !important;
}

body.theme-solarized-dark .zebra td, body.theme-solarized-dark .zebra2 td {
    color: #d1dbd6 !important;
}


/* ==========================================================================
   EXTRA TOOLS & HELPERS
   ========================================================================== */

/* Line Spacing */
body.acc-line-spacing-lg p:not(.acc-exclude):not(.acc-exclude *),
body.acc-line-spacing-lg span:not(.acc-exclude):not(.acc-exclude *),
body.acc-line-spacing-lg li:not(.acc-exclude):not(.acc-exclude *),
body.acc-line-spacing-lg td:not(.acc-exclude):not(.acc-exclude *) {
    line-height: 2.0 !important;
}

/* Large Cursor */
body.acc-cursor-large,
body.acc-cursor-large *:not(.acc-exclude):not(.acc-exclude *) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L2,24 L8.5,18 L14,29 L17.5,27 L12,16 L19.5,16 Z' fill='%231e293b' stroke='%23ffffff' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto !important;
}

body.acc-cursor-large a:not(.acc-exclude),
body.acc-cursor-large a:not(.acc-exclude) *,
body.acc-cursor-large button:not(.acc-exclude),
body.acc-cursor-large button:not(.acc-exclude) *,
body.acc-cursor-large input[type="submit"]:not(.acc-exclude),
body.acc-cursor-large input[type="button"]:not(.acc-exclude),
body.acc-cursor-large input[type="reset"]:not(.acc-exclude),
body.acc-cursor-large [role="button"]:not(.acc-exclude),
body.acc-cursor-large [role="button"]:not(.acc-exclude) *,
body.acc-cursor-large select:not(.acc-exclude),
body.acc-cursor-large label:not(.acc-exclude),
body.acc-cursor-large label:not(.acc-exclude) *,
body.acc-cursor-large summary:not(.acc-exclude) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'%3E%3Cpath d='M11.5 2c-.83 0-1.5.67-1.5 1.5v7.67l-.85-.14c-.38-.06-.77.07-1.04.34L7 12.5l4.89 4.9c.38.38.89.6 1.42.6h5.19c1.02 0 1.88-.77 1.98-1.79l.52-5.19c.07-.66-.27-1.28-.86-1.56l-2.14-1c-.34-.16-.71-.24-1.09-.24H15V3.5c0-.83-.67-1.5-1.5-1.5h-2z' fill='%231e293b' stroke='%23ffffff' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 17 3, pointer !important;
}

body.acc-cursor-large input[type="text"]:not(.acc-exclude),
body.acc-cursor-large input[type="search"]:not(.acc-exclude),
body.acc-cursor-large input[type="email"]:not(.acc-exclude),
body.acc-cursor-large input[type="password"]:not(.acc-exclude),
body.acc-cursor-large input[type="tel"]:not(.acc-exclude),
body.acc-cursor-large input[type="url"]:not(.acc-exclude),
body.acc-cursor-large textarea:not(.acc-exclude) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24'%3E%3Cpath d='M8 4 h8 M12 4 v16 M8 20 h8' fill='none' stroke='%231e293b' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8 4 h8 M12 4 v16 M8 20 h8' fill='none' stroke='%23ffffff' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") 16 16, text !important;
}


/* Reading Ruler */
.acc-reading-ruler {
    position: fixed;
    left: 0;
    width: 100%;
    height: 25px;
    background-color: rgba(255, 255, 0, 0.25);
    border-top: 2px solid rgba(255, 255, 0, 0.6);
    border-bottom: 2px solid rgba(255, 255, 0, 0.6);
    pointer-events: none;
    z-index: 100000;
    display: none;
}
body.acc-ruler-active .acc-reading-ruler {
    display: block;
}
body.theme-dark .acc-reading-ruler {
    background-color: rgba(163, 204, 30, 0.2);
    border-top-color: rgba(163, 204, 30, 0.5);
    border-bottom-color: rgba(163, 204, 30, 0.5);
}
body.theme-solarized-light .acc-reading-ruler {
    background-color: rgba(203, 75, 22, 0.15);
    border-top-color: rgba(203, 75, 22, 0.4);
    border-bottom-color: rgba(203, 75, 22, 0.4);
}
body.theme-solarized-dark .acc-reading-ruler {
    background-color: rgba(203, 75, 22, 0.15);
    border-top-color: rgba(203, 75, 22, 0.4);
    border-bottom-color: rgba(203, 75, 22, 0.4);
}
body.theme-contrast .acc-reading-ruler {
    background-color: rgba(255, 255, 255, 0.3);
    border-top: 3px solid #ffff00;
    border-bottom: 3px solid #ffff00;
}


/* ==========================================================================
   WIDGET, PANEL & BACKDROP (styled defensively)
   ========================================================================== */

/* Floating Widget Button */
.acc-widget-trigger {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #7db72f;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.2s;
}
.acc-widget-trigger:hover {
    transform: scale(1.1);
    background-color: #8ce134;
}
body.theme-dark .acc-widget-trigger {
    background-color: #a3cc1e;
}
body.theme-dark .acc-widget-trigger:hover {
    background-color: #b8e624;
}
body.theme-solarized-light .acc-widget-trigger {
    background-color: #cb4b16;
}
body.theme-solarized-light .acc-widget-trigger:hover {
    background-color: #e35b20;
}
body.theme-solarized-dark .acc-widget-trigger {
    background-color: #cb4b16;
}
body.theme-solarized-dark .acc-widget-trigger:hover {
    background-color: #e35b20;
}
body.theme-contrast .acc-widget-trigger {
    background-color: #000000;
    border: 3px solid #ffffff;
}
body.theme-contrast .acc-widget-trigger:hover {
    border-color: #ffff00;
}
.acc-widget-trigger svg {
    width: 32px;
    height: 32px;
    fill: #ffffff;
}
body.theme-contrast .acc-widget-trigger svg {
    fill: #ffff00;
}

/* Accessibility Link in Header */
.headerLink .acc-header-btn {
    cursor: pointer !important;
}

/* Backdrop */
.acc-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 100001;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.acc-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

/* Sliding Panel */
.acc-panel {
    position: fixed;
    top: 0;
    right: -420px;
    width: 380px;
    height: 100%;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(15px);
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.25) !important;
    z-index: 100002;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    color: #1a1a1a !important;
    font-family: 'Segoe UI', Tahoma, Geneva, sans-serif !important;
    border-left: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.acc-panel.active {
    right: 0 !important;
}

/* Panel Header */
.acc-panel-header {
    padding: 20px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: rgba(0, 0, 0, 0.02) !important;
}
.acc-panel-header h2 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.acc-close-btn {
    background: transparent !important;
    border: none !important;
    font-size: 24px !important;
    cursor: pointer !important;
    color: #1a1a1a !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    transition: background-color 0.2s !important;
}
.acc-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Panel Body */
.acc-panel-body {
    padding: 20px !important;
    overflow-y: auto !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

/* Control Sections */
.acc-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.acc-section h3 {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #555555 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    opacity: 0.8 !important;
}

/* Button groups - symmetrical columns */
.acc-btn-group {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
}

.acc-btn {
    padding: 10px 12px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

.acc-btn:hover {
    border-color: #7db72f !important;
    background-color: #f7fbda !important;
}

.acc-btn.active {
    background-color: #7db72f !important;
    border-color: #7db72f !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 5px rgba(125, 183, 47, 0.3) !important;
}

.acc-btn-full {
    grid-column: span 2 !important;
}

/* Slider Custom Styling */
.acc-slider-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
#acc-text-size-val {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #7db72f !important;
}
body.theme-dark #acc-text-size-val {
    color: #a3cc1e !important;
}
body.theme-solarized-light #acc-text-size-val {
    color: #cb4b16 !important;
}
body.theme-solarized-dark #acc-text-size-val {
    color: #cb4b16 !important;
}
body.theme-contrast #acc-text-size-val {
    color: #ffff00 !important;
}

.acc-slider-container {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background-color: rgba(0, 0, 0, 0.02) !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}
body.theme-dark .acc-slider-container {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}
body.theme-solarized-light .acc-slider-container {
    background-color: rgba(0, 0, 0, 0.02) !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
}
body.theme-solarized-dark .acc-slider-container {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}
body.theme-contrast .acc-slider-container {
    border: 2px solid #ffffff !important;
    background-color: #000000 !important;
}

.acc-slider-label-min {
    font-size: 12px !important;
    font-weight: 500 !important;
    opacity: 0.7 !important;
}
.acc-slider-label-max {
    font-size: 20px !important;
    font-weight: 700 !important;
}
body.theme-contrast .acc-slider-label-min,
body.theme-contrast .acc-slider-label-max {
    color: #ffffff !important;
}

#acc-text-size-slider {
    flex-grow: 1 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 6px !important;
    border-radius: 3px !important;
    background: #ccc !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.theme-dark #acc-text-size-slider {
    background: #444 !important;
}
body.theme-solarized-light #acc-text-size-slider {
    background: #d3c7a9 !important;
}
body.theme-solarized-dark #acc-text-size-slider {
    background: #073642 !important;
}
body.theme-contrast #acc-text-size-slider {
    background: #555 !important;
    border: 1px solid #ffffff !important;
}

#acc-text-size-slider::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #7db72f !important;
    cursor: pointer !important;
    transition: transform 0.1s !important;
}
#acc-text-size-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2) !important;
}
body.theme-dark #acc-text-size-slider::-webkit-slider-thumb {
    background: #a3cc1e !important;
}
body.theme-solarized-light #acc-text-size-slider::-webkit-slider-thumb {
    background: #cb4b16 !important;
}
body.theme-solarized-dark #acc-text-size-slider::-webkit-slider-thumb {
    background: #cb4b16 !important;
}
body.theme-contrast #acc-text-size-slider::-webkit-slider-thumb {
    background: #ffff00 !important;
    border: 1px solid #000000 !important;
}

/* Toggle Switch layout */
.acc-toggle-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 12px !important;
    background-color: rgba(0, 0, 0, 0.02) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}
body.theme-dark .acc-toggle-item {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}
body.theme-solarized-light .acc-toggle-item {
    background-color: rgba(0, 0, 0, 0.02) !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
}
body.theme-solarized-dark .acc-toggle-item {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}
body.theme-contrast .acc-toggle-item {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
}

.acc-toggle-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.acc-toggle-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
.acc-toggle-desc {
    font-size: 11px !important;
    opacity: 0.6 !important;
    color: #666666 !important;
}

/* Checkbox Toggle Switch CSS */
.acc-switch {
    position: relative !important;
    display: inline-block !important;
    width: 44px !important;
    height: 24px !important;
}
.acc-switch input {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
.acc-slider {
    position: absolute !important;
    cursor: pointer !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-color: #ccc !important;
    transition: .3s !important;
    border-radius: 24px !important;
}
.acc-slider:before {
    position: absolute !important;
    content: "" !important;
    height: 18px !important;
    width: 18px !important;
    left: 3px !important;
    bottom: 3px !important;
    background-color: white !important;
    transition: .3s !important;
    border-radius: 50% !important;
}
input:checked + .acc-slider {
    background-color: #7db72f !important;
}
input:checked + .acc-slider:before {
    transform: translateX(20px) !important;
}

/* Panel Footer */
.acc-panel-footer {
    padding: 20px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.02) !important;
}
.acc-reset-btn {
    width: 100% !important;
    padding: 12px !important;
    border-radius: 8px !important;
    border: 1px dashed rgba(0, 0, 0, 0.3) !important;
    background-color: transparent !important;
    color: #555555 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.acc-reset-btn:hover {
    border-color: #cb4b16 !important;
    background-color: rgba(203, 75, 22, 0.05) !important;
    color: #cb4b16 !important;
}

/* ==========================================================================
   THEME ADAPTATIONS FOR THE PANEL & BACKDROP (defensive overrides)
   ========================================================================== */

/* Dark Theme Panel Overrides */
body.theme-dark .acc-panel {
    background: rgba(26, 26, 26, 0.98) !important;
    color: #f0f0f0 !important;
    border-left-color: rgba(255, 255, 255, 0.1) !important;
}
body.theme-dark .acc-panel-header {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.theme-dark .acc-panel-header h2,
body.theme-dark .acc-section h3,
body.theme-dark .acc-toggle-title {
    color: #ffffff !important;
}
body.theme-dark .acc-toggle-desc {
    color: #aaaaaa !important;
}
body.theme-dark .acc-close-btn {
    color: #ffffff !important;
}
body.theme-dark .acc-close-btn:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
body.theme-dark .acc-btn {
    background-color: #2b2b2b !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
body.theme-dark .acc-btn:hover {
    border-color: #a3cc1e !important;
    background-color: #2b3318 !important;
}
body.theme-dark .acc-btn.active {
    background-color: #a3cc1e !important;
    border-color: #a3cc1e !important;
    color: #000000 !important;
}
body.theme-dark input:checked + .acc-slider {
    background-color: #a3cc1e !important;
}
body.theme-dark .acc-panel-footer {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
body.theme-dark .acc-reset-btn {
    color: #cccccc !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
body.theme-dark .acc-reset-btn:hover {
    border-color: #a3cc1e !important;
    color: #a3cc1e !important;
    background-color: rgba(163, 204, 30, 0.05) !important;
}

/* Solarized Light Theme Panel Overrides */
body.theme-solarized-light .acc-panel {
    background: rgba(253, 246, 227, 0.98) !important;
    color: #586e75 !important;
    border-left-color: rgba(0, 0, 0, 0.08) !important;
}
body.theme-solarized-light .acc-panel-header {
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}
body.theme-solarized-light .acc-panel-header h2,
body.theme-solarized-light .acc-section h3,
body.theme-solarized-light .acc-toggle-title {
    color: #586e75 !important;
}
body.theme-solarized-light .acc-toggle-desc {
    color: #657b83 !important;
}
body.theme-solarized-light .acc-close-btn {
    color: #586e75 !important;
}
body.theme-solarized-light .acc-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}
body.theme-solarized-light .acc-btn {
    background-color: #eee8d5 !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: #586e75 !important;
}
body.theme-solarized-light .acc-btn:hover {
    border-color: #cb4b16 !important;
    background-color: #fdf6e3 !important;
}
body.theme-solarized-light .acc-btn.active {
    background-color: #cb4b16 !important;
    border-color: #cb4b16 !important;
    color: #fdf6e3 !important;
}
body.theme-solarized-light input:checked + .acc-slider {
    background-color: #cb4b16 !important;
}
body.theme-solarized-light .acc-panel-footer {
    border-top-color: rgba(0, 0, 0, 0.08) !important;
}
body.theme-solarized-light .acc-reset-btn {
    color: #586e75 !important;
    border-color: rgba(0, 0, 0, 0.2) !important;
}
body.theme-solarized-light .acc-reset-btn:hover {
    border-color: #cb4b16 !important;
    color: #cb4b16 !important;
    background-color: rgba(203, 75, 22, 0.05) !important;
}

/* Solarized Dark Theme Panel Overrides */
body.theme-solarized-dark .acc-panel {
    background: rgba(0, 43, 54, 0.98) !important;
    color: #93a1a1 !important;
    border-left-color: rgba(255, 255, 255, 0.08) !important;
}
body.theme-solarized-dark .acc-panel-header {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
body.theme-solarized-dark .acc-panel-header h2,
body.theme-solarized-dark .acc-section h3,
body.theme-solarized-dark .acc-toggle-title {
    color: #93a1a1 !important;
}
body.theme-solarized-dark .acc-toggle-desc {
    color: #839496 !important;
}
body.theme-solarized-dark .acc-close-btn {
    color: #93a1a1 !important;
}
body.theme-solarized-dark .acc-close-btn:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}
body.theme-solarized-dark .acc-btn {
    background-color: #073642 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #93a1a1 !important;
}
body.theme-solarized-dark .acc-btn:hover {
    border-color: #cb4b16 !important;
    background-color: #002b36 !important;
}
body.theme-solarized-dark .acc-btn.active {
    background-color: #cb4b16 !important;
    border-color: #cb4b16 !important;
    color: #fdf6e3 !important;
}
body.theme-solarized-dark input:checked + .acc-slider {
    background-color: #cb4b16 !important;
}
body.theme-solarized-dark .acc-panel-footer {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
body.theme-solarized-dark .acc-reset-btn {
    color: #93a1a1 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
body.theme-solarized-dark .acc-reset-btn:hover {
    border-color: #cb4b16 !important;
    color: #cb4b16 !important;
    background-color: rgba(203, 75, 22, 0.05) !important;
}

/* High Contrast Theme Panel Overrides */
body.theme-contrast .acc-panel {
    background: #000000 !important;
    color: #ffffff !important;
    border-left: 3px solid #ffffff !important;
}
body.theme-contrast .acc-panel-header {
    border-bottom: 3px solid #ffffff !important;
    background: #000000 !important;
}
body.theme-contrast .acc-panel-header h2,
body.theme-contrast .acc-section h3,
body.theme-contrast .acc-toggle-title {
    color: #ffffff !important;
}
body.theme-contrast .acc-section h3 {
    color: #ffff00 !important;
}
body.theme-contrast .acc-toggle-desc {
    color: #ffffff !important;
    opacity: 1 !important;
}
body.theme-contrast .acc-close-btn {
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}
body.theme-contrast .acc-close-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}
body.theme-contrast .acc-btn {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    padding: 9px 11px !important; /* Adjusted padding to compensate for thicker border and prevent sizing shifts */
}
body.theme-contrast .acc-btn:hover {
    border-color: #ffff00 !important;
    color: #ffff00 !important;
}
body.theme-contrast .acc-btn.active {
    background-color: #ffff00 !important;
    border-color: #ffff00 !important;
    color: #000000 !important;
}
body.theme-contrast .acc-slider {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
}
body.theme-contrast input:checked + .acc-slider {
    background-color: #ffff00 !important;
    border-color: #ffff00 !important;
}
body.theme-contrast input:checked + .acc-slider:before {
    background-color: #000000 !important;
}
body.theme-contrast .acc-panel-footer {
    border-top: 3px solid #ffffff !important;
    background: #000000 !important;
}
body.theme-contrast .acc-reset-btn {
    color: #ffffff !important;
    border: 2px dashed #ffffff !important;
    padding: 11px !important; /* Adjusted padding to compensate for thicker border */
}
body.theme-contrast .acc-reset-btn:hover {
    border-color: #ffff00 !important;
    color: #ffff00 !important;
    background-color: #000000 !important;
}

/* Ensure black backgrounds everywhere under High Contrast theme, preventing yellow-on-white text */
body.theme-contrast *:not(.acc-exclude):not(.acc-exclude *) {
    background-color: #000000 !important;
    background-image: none !important;
}

/* Force border-box for inputs in contrast theme to prevent size shifts from thicker borders */
body.theme-contrast input:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast textarea:not(.acc-exclude):not(.acc-exclude *), 
body.theme-contrast select:not(.acc-exclude):not(.acc-exclude *) {
    box-sizing: border-box !important;
}

/* ==========================================================================
   LAYOUT STABILIZATION FOR FONT AND THEME CHANGES
   ========================================================================== */

/* 1. Prevent size/height shifts and text wrapping for all page buttons */
.btn2:not(.acc-exclude):not(.acc-exclude *), 
.btn2small:not(.acc-exclude):not(.acc-exclude *), 
.btnSignGray:not(.acc-exclude):not(.acc-exclude *), 
button:not(.acc-exclude):not(.acc-exclude *), 
input[type="submit"]:not(.acc-exclude):not(.acc-exclude *),
input[type="button"]:not(.acc-exclude):not(.acc-exclude *),
input[type="reset"]:not(.acc-exclude):not(.acc-exclude *) {
    box-sizing: border-box !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

/* 2. Stabilize Header Menu items to prevent layout shifts */
ul.headerMenu {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}
ul.headerMenu li {
    float: none !important;
    white-space: nowrap !important;
}

/* 3. Stabilize Main Tabs Menu to prevent horizontal wrapping */
ul#menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    padding-top: 10px !important;
    padding-left: 0 !important;
    margin: 0 !important;
}
ul#menu > li {
    float: none !important;
    padding-right: 5px !important;
    flex: 1 !important;
}
ul#menu > li > a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ===== GLOBAL FAQ CHATBOT ===== */
.faq-chatbot-fab {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #688602 0%, #4a6001 100%);
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10000;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.faq-chatbot-fab:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(104, 134, 2, 0.4);
}
.faq-chatbot-fab.active {
    transform: rotate(90deg);
}
.faq-fab-icon {
    font-size: 28px;
    color: white;
    transition: all 0.3s ease;
}
.faq-chatbot-fab.active .faq-fab-icon {
    content: "×";
    font-size: 32px;
}

.faq-chatbot-window {
    position: fixed;
    bottom: 96px;
    right: 24px;
    width: 380px;
    height: 520px;
    background: #f0f2f5;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    z-index: 10000;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.2);
    font-family: 'Inter', 'Segoe UI', Tahoma, sans-serif;
}
.faq-chatbot-window.active {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.faq-chatbot-header {
    background: linear-gradient(135deg, #688602 0%, #4a6001 100%);
    color: white;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.faq-chatbot-header-avatar {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
.faq-chatbot-header-info {
    flex-grow: 1;
}
.faq-chatbot-header-info h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #fff !important;
}
.faq-chatbot-header-info p {
    margin: 2px 0 0 0;
    font-size: 11px;
    color: rgba(255,255,255,0.85);
}
.faq-chatbot-close-btn {
    background: none;
    border: none;
    color: white;
    font-size: 28px;
    cursor: pointer;
    opacity: 0.8;
    padding: 0;
    line-height: 1;
    transition: opacity 0.2s;
}
.faq-chatbot-close-btn:hover {
    opacity: 1;
}

.faq-chatbot-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 16px;
    scroll-behavior: smooth;
}
.faq-chatbot-body::-webkit-scrollbar {
    width: 5px;
}
.faq-chatbot-body::-webkit-scrollbar-track {
    background: transparent;
}
.faq-chatbot-body::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.faq-chatbot-footer {
    background: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 10px 16px;
    text-align: center;
    color: #888;
    font-size: 11px;
}
.faq-chatbot-footer a {
    color: #688602;
    text-decoration: underline;
    font-weight: 500;
}

/* Chat Messages */
.faq-chat-msg {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    animation: faqFadeIn 0.3s ease-out;
}
@keyframes faqFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.faq-chat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.faq-chat-avatar.bot {
    background: linear-gradient(135deg, #688602, #8aad0a);
    color: white;
}
.faq-chat-avatar.user {
    background: linear-gradient(135deg, #4a5568, #2d3748);
    color: white;
    font-size: 12px;
}
.faq-chat-bubble {
    max-width: 80%;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #1a1a1a;
}
.faq-chat-bubble.bot {
    background: #fff;
    border: 1px solid #e2e5e9;
    border-radius: 4px 14px 14px 14px;
}
.faq-chat-bubble.user {
    background: linear-gradient(135deg, #688602, #7a9c04);
    color: white;
    border-radius: 14px 4px 14px 14px;
    margin-left: auto;
}
.faq-chat-msg.user-msg {
    flex-direction: row-reverse;
}

/* Options */
.faq-chat-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    padding-left: 40px; /* aligns with bubbles */
    animation: faqFadeIn 0.3s ease-out 0.1s both;
}
.faq-chat-opt-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    background: #fff;
    border: 1.5px solid #d4e5a0;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: #3d5a00;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Inter', sans-serif;
    line-height: 1.2;
}
.faq-chat-opt-btn:hover {
    background: #f0f7d4;
    border-color: #688602;
    transform: translateY(-1px);
}
.faq-chat-opt-btn.back-btn {
    background: #f7f7f7;
    border-color: #d0d0d0;
    color: #555;
}
.faq-chat-opt-btn.back-btn:hover {
    background: #eee;
    border-color: #aaa;
    color: #333;
}
.faq-chat-opt-btn.action-btn {
    background: linear-gradient(135deg, #688602, #7a9c04);
    border-color: #688602;
    color: white;
}
.faq-chat-opt-btn.action-btn:hover {
    background: linear-gradient(135deg, #4a6001, #688602);
    color: white;
}

/* Typing indicator */
.faq-typing-indicator {
    display: flex;
    gap: 3px;
    padding: 10px 14px;
    align-items: center;
}
.faq-typing-dot {
    width: 6px;
    height: 6px;
    background: #aaa;
    border-radius: 50%;
    animation: faqTypingBounce 1.2s ease-in-out infinite;
}
.faq-typing-dot:nth-child(2) { animation-delay: 0.15s; }
.faq-typing-dot:nth-child(3) { animation-delay: 0.3s; }
@keyframes faqTypingBounce {
    0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
    40% { transform: translateY(-5px); opacity: 1; }
}

.faq-answer-text p {
    margin: 0 0 6px 0;
    font-size: 13px;
    line-height: 1.5;
}
.faq-answer-text p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   MODERN STICKY SINGLE-LINE HEADER (REDDIT STYLE)
   ========================================================================== */

body {
    padding-top: 70px !important;
}

.header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 70px !important;
    background-color: #000000 !important;
    border-bottom: 1px solid #222222 !important;
    z-index: 9999 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    display: flex !important;
    align-items: center !important;
    transition: transform 0.3s ease-in-out !important;
}

.header .innerHeader {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 100% !important;
    padding: 0 32px !important;
    box-sizing: border-box !important;
}

/* Override the legacy float divs */
.header .innerHeader > div {
    float: none !important;
    height: auto !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Logo container (first child) */
.header .innerHeader > div:first-child {
    width: auto !important;
    display: flex !important;
    align-items: center !important;
}

.header .innerHeader > div:first-child a {
    display: flex !important;
    align-items: center !important;
}

.header .innerHeader > div:first-child img {
    height: 48px !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Right-side wrapper div (second child) */
.header .innerHeader > div:last-child {
    width: auto !important;
    display: flex !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-left: 48px !important;
    gap: 40px !important;
}

/* Force search bar and menu inside the flex wrapper */
.header .innerHeader > div:last-child > div {
    height: auto !important;
    float: none !important;
    margin: 0 !important;
}

/* Left/Right ordering inside the flex wrapper: Search bar in center (order 1), Menu on right (order 2) */
.header .innerHeader > div:last-child > div:first-child {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
}

.header .innerHeader > div:last-child > div:last-child {
    order: 1 !important;
    flex-grow: 1 !important;
    display: flex !important;
    justify-content: center !important;
}

/* Search bar styling */
.emailnewsletter#divemailnewsletter {
    position: relative !important;
    background-color: #1a1a1a !important;
    border: 1px solid #333333 !important;
    border-radius: 20px !important;
    padding: 0 75px 0 10px !important; /* adjusted padding to accommodate search icon inside flex container */
    width: 100% !important;
    max-width: 700px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    background-image: none !important; /* removed legacy background image icon */
    box-sizing: border-box !important;
    margin: 0 !important;
}

.emailnewsletter#divemailnewsletter .search-icon {
    font-size: 20px !important;
    color: #888888 !important;
    margin-right: 4px !important;
    margin-left: 4px !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

.emailnewsletter#divemailnewsletter input {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 13px !important;
    width: 100% !important;
    height: 100% !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.emailnewsletter#divemailnewsletter a#submitEmailNewsletter {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background-color: #5f870e !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.emailnewsletter#divemailnewsletter a#submitEmailNewsletter:hover {
    background-color: #7cb72f !important;
    text-decoration: none !important;
}

/* Header Menu and links styling */
ul.headerMenu {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    height: 100% !important;
    list-style-type: none !important;
}

.headerLink {
    margin: 0 !important;
    padding: 0 !important;
    list-style-type: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
}

.headerLink a {
    margin: 0 !important;
    font-size: 14px !important;
    color: #b1dd14 !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
}

.headerLink a:hover {
    color: #ffffff !important;
    background-color: #1a1a1a !important;
}

.headerLink #divLogin {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
}

.header.header-hidden {
    transform: translateY(-100%) !important;
}

/* Responsive styles for Header */
@media screen and (max-width: 1200px) {
    .header .innerHeader {
        padding: 0 20px !important;
    }
    .header .innerHeader > div:last-child {
        margin-left: 32px !important;
        gap: 24px !important;
    }
    ul.headerMenu {
        gap: 20px !important;
    }
}

@media screen and (max-width: 1024px) {
    .header .innerHeader {
        padding: 0 15px !important;
    }
    .header .innerHeader > div:last-child {
        margin-left: 20px !important;
        gap: 16px !important;
    }
    ul.headerMenu {
        gap: 12px !important;
    }
    .headerLink a {
        padding: 6px 12px !important;
        font-size: 13px !important;
    }
    .emailnewsletter#divemailnewsletter {
        max-width: 500px !important;
    }
}

/* Petition Roadmap Stepper */
.petition-roadmap {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding-left: 10px !important;
    margin: 10px 0 !important;
}

.petition-roadmap::before {
    content: '' !important;
    position: absolute !important;
    left: 31px !important; /* 10px padding + half of 42px badge width */
    top: 20px !important;
    bottom: 20px !important;
    width: 2px !important;
    background-color: #B3C287 !important;
    z-index: 1 !important;
}

.roadmap-step {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

.roadmap-step:last-child {
    margin-bottom: 0 !important;
}

.roadmap-badge {
    background-color: #5f870e !important;
    color: #ffffff !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-right: 16px !important;
    border: 3px solid #f7fbda !important; /* matches container bg color */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
}

.roadmap-text {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #486620 !important;
}

/* Home Page Tabs & Carousel */
.carousel-tabs {
    display: flex !important;
    justify-content: center !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
    border-bottom: 2px solid #e5e5e5 !important;
    padding-bottom: 12px !important;
}

.carousel-tab-btn {
    background: transparent !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #666666 !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 20px !important;
    outline: none !important;
}

.carousel-tab-btn:hover {
    color: #486620 !important;
    background-color: #f7fbda !important;
}

.carousel-tab-btn.active {
    color: #ffffff !important;
    background-color: #5f870e !important;
    box-shadow: 0 4px 10px rgba(95, 135, 14, 0.3) !important;
}

.home-carousel-container {
    width: 100% !important;
    max-width: 960px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.carousel-track-wrapper {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 960px !important;
}

.carousel-track {
    display: flex !important;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.carousel-page {
    flex-shrink: 0 !important;
    width: 960px !important;
    display: flex !important;
    padding: 0 10px !important;
    gap: 20px !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.carousel-card {
    width: 172px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 12px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-sizing: border-box !important;
    height: 350px !important;
}

.carousel-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 20px -8px rgba(95, 135, 14, 0.25) !important;
    border-color: #5f870e !important;
}

.carousel-card-img-wrapper {
    width: 100% !important;
    height: 110px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

.carousel-card-img-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.carousel-card:hover .carousel-card-img-wrapper img {
    transform: scale(1.05) !important;
}

.carousel-card-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #2c4a06 !important;
    line-height: 1.35 !important;
    height: 36px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-decoration: none !important;
    margin-bottom: 8px !important;
    transition: color 0.2s ease !important;
}

.carousel-card-title:hover {
    color: #5f870e !important;
    text-decoration: underline !important;
}

.carousel-card-desc {
    font-size: 11px !important;
    color: #555555 !important;
    line-height: 1.4 !important;
    height: 48px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: auto !important;
}

.carousel-card-signatures {
    background-color: #f7fbda !important;
    border: 1px solid #dceaa8 !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #486620 !important;
    text-align: center !important;
    margin-bottom: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    width: fit-content !important;
    align-self: center !important;
}

.carousel-card-signatures span {
    color: #5f870e !important;
}

.carousel-card-btn {
    background-color: #5f870e !important;
    color: #ffffff !important;
    text-align: center !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: block !important;
    box-shadow: 0 2px 4px rgba(95, 135, 14, 0.2) !important;
}

.carousel-card-btn:hover {
    background-color: #486620 !important;
    box-shadow: 0 4px 8px rgba(72, 102, 32, 0.3) !important;
}

.carousel-dots {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 24px !important;
}

.carousel-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background-color: #cbd5e1 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.carousel-dot:hover {
    background-color: #94a3b8 !important;
}

.carousel-dot.active {
    width: 24px !important;
    border-radius: 5px !important;
    background-color: #5f870e !important;
}

body.theme-dark .carousel-card {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.5), 0 2px 4px -1px rgba(0,0,0,0.3) !important;
}
body.theme-dark .carousel-card:hover {
    border-color: #38bdf8 !important;
    box-shadow: 0 12px 20px -8px rgba(56, 189, 248, 0.4) !important;
}
body.theme-dark .carousel-card-title {
    color: #f8fafc !important;
}
body.theme-dark .carousel-card-desc {
    color: #cbd5e1 !important;
}
body.theme-dark .carousel-card-signatures {
    background-color: #111827 !important;
    border-color: #374151 !important;
    color: #38bdf8 !important;
}
body.theme-dark .carousel-dot {
    background-color: #374151 !important;
}
body.theme-dark .carousel-dot.active {
    background-color: #38bdf8 !important;
}

body.theme-contrast .carousel-card {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
}
body.theme-contrast .carousel-card:hover {
    border-color: #ffff00 !important;
}
body.theme-contrast .carousel-card-title {
    color: #ffffff !important;
}
body.theme-contrast .carousel-card-desc {
    color: #ffffff !important;
}
body.theme-contrast .carousel-card-signatures {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .carousel-card-signatures span {
    color: #ffffff !important;
}
body.theme-contrast .carousel-card-btn {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
}
body.theme-contrast .carousel-card-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}
body.theme-contrast .carousel-dot {
    background-color: #555555 !important;
    border: 1px solid #ffffff !important;
}
body.theme-contrast .carousel-dot.active {
    background-color: #ffffff !important;
}

body.theme-solarized-light .carousel-card {
    background-color: #ffffff !important;
    border-color: #eee8d5 !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.08) !important;
}
body.theme-solarized-light .carousel-card-title {
    color: #475a18 !important;
}
body.theme-solarized-light .carousel-card-desc {
    color: #2d2722 !important;
}
body.theme-solarized-light .carousel-card-signatures {
    background-color: #faf8f5 !important;
    border-color: #eee8d5 !important;
    color: #2d2722 !important;
}
body.theme-solarized-light .carousel-card-signatures span {
    color: #2d2722 !important;
}
body.theme-solarized-light .carousel-dot {
    background-color: #eee8d5 !important;
}
body.theme-solarized-light .carousel-dot.active {
    background-color: #475a18 !important;
}

body.theme-solarized-dark .carousel-card {
    background-color: #1b2621 !important;
    border-color: #2d3d35 !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.3) !important;
}
body.theme-solarized-dark .carousel-card-title {
    color: #a3e635 !important;
}
body.theme-solarized-dark .carousel-card-desc {
    color: #cbd5d2 !important;
}
body.theme-solarized-dark .carousel-card-signatures {
    background-color: #121a16 !important;
    border-color: #2d3d35 !important;
    color: #e8ece9 !important;
}
body.theme-solarized-dark .carousel-card-signatures span {
    color: #e8ece9 !important;
}
body.theme-solarized-dark .carousel-dot {
    background-color: #2d3d35 !important;
}
body.theme-solarized-dark .carousel-dot.active {
    background-color: #a3e635 !important;
}

/* Creation Page (pcreate) Styling Overrides */
.dform input[type="text"], 
.dform input[type="email"], 
.dform input[type="url"], 
.dform textarea {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 14.5px !important;
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    color: #1e293b !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 5px !important;
    outline: none !important;
}

.dform input[type="text"]:focus, 
.dform input[type="email"]:focus, 
.dform input[type="url"]:focus, 
.dform textarea:focus {
    border-color: #5f870e !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(95, 135, 14, 0.15) !important;
}

.dform label {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2c4a06 !important;
    margin-top: 18px !important;
    margin-bottom: 6px !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
}

.dform select {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 14px !important;
    height: 38px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
    padding: 4px 8px !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.dform select:focus {
    border-color: #5f870e !important;
    box-shadow: 0 0 0 3px rgba(95, 135, 14, 0.15) !important;
}

/* Tooltip Badge Style */
.tooltip {
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: normal !important;
    margin-left: 8px !important;
    display: inline-block !important;
    text-decoration: none !important;
}

.tooltip:hover {
    background-color: #5f870e !important;
    color: #ffffff !important;
    border-color: #5f870e !important;
}

/* Warnings and Instructions Notice Card Style */
.creation-warning-card {
    background-color: #fff5f5 !important;
    border: 1px solid #f5c6cb !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.05) !important;
    text-align: center !important;
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.creation-warning-card p {
    text-align: center !important;
}

/* Theme Adaptations for Form Inputs and Warning Card */
body.theme-dark .dform input[type="text"], 
body.theme-dark .dform input[type="email"], 
body.theme-dark .dform input[type="url"], 
body.theme-dark .dform textarea,
body.theme-dark .dform select {
    background-color: #1e1e1e !important;
    border-color: #444444 !important;
    color: #e0e0e0 !important;
}
body.theme-dark .dform input[type="text"]:focus, 
body.theme-dark .dform input[type="email"]:focus, 
body.theme-dark .dform input[type="url"]:focus, 
body.theme-dark .dform textarea:focus,
body.theme-dark .dform select:focus {
    border-color: #5f870e !important;
    box-shadow: 0 0 0 3px rgba(95, 135, 14, 0.3) !important;
}
body.theme-dark .dform label {
    color: #e2f0b4 !important;
}
body.theme-dark .creation-warning-card {
    background-color: #2c1a1a !important;
    border-color: #5c2e2e !important;
    color: #fcdada !important;
    box-shadow: none !important;
}
body.theme-dark .creation-warning-card p {
    color: #e0e0e0 !important;
}

body.theme-contrast .dform input[type="text"], 
body.theme-contrast .dform input[type="email"], 
body.theme-contrast .dform input[type="url"], 
body.theme-contrast .dform textarea,
body.theme-contrast .dform select {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .dform label {
    color: #ffffff !important;
}
body.theme-contrast .creation-warning-card {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .creation-warning-card p {
    color: #ffffff !important;
}

body.theme-solarized-light .dform input[type="text"], 
body.theme-solarized-light .dform input[type="email"], 
body.theme-solarized-light .dform input[type="url"], 
body.theme-solarized-light .dform textarea,
body.theme-solarized-light .dform select {
    background-color: #fdf6e3 !important;
    border-color: #eee8d5 !important;
    color: #586e75 !important;
}
body.theme-solarized-light .dform label {
    color: #b58900 !important;
}
body.theme-solarized-light .creation-warning-card {
    background-color: #fcf4dc !important;
    border-color: #b58900 !important;
    color: #855c00 !important;
}
body.theme-solarized-light .creation-warning-card p {
    color: #586e75 !important;
}

body.theme-solarized-dark .dform input[type="text"], 
body.theme-solarized-dark .dform input[type="email"], 
body.theme-solarized-dark .dform input[type="url"], 
body.theme-solarized-dark .dform textarea,
body.theme-solarized-dark .dform select {
    background-color: #073642 !important;
    border-color: #586e75 !important;
    color: #93a1a1 !important;
}
body.theme-solarized-dark .dform label {
    color: #2aa198 !important;
}
body.theme-solarized-dark .creation-warning-card {
    background-color: #0a252c !important;
    border-color: #cb4b16 !important;
    color: #cb4b16 !important;
}
body.theme-solarized-dark .creation-warning-card p {
    color: #93a1a1 !important;
}

/* ==========================================================================
   MOBILE & RESPONSIVE LAYOUT IMPROVEMENTS
   ========================================================================== */
@media screen and (max-width: 768px) {
    body {
        padding-top: 0 !important;
    }
    .header {
        position: static !important;
        height: auto !important;
        padding: 10px 0 !important;
    }
    .header .innerHeader {
        flex-direction: column !important;
        height: auto !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .header .innerHeader > div {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .header .innerHeader > div:first-child img {
        height: 38px !important;
        width: auto !important;
    }
    .header .innerHeader > div:last-child {
        margin-left: 0 !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    ul.headerMenu {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }
    .headerLink a {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
    .emailnewsletter#divemailnewsletter {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Table layout stacking */
    table, tbody, tr, td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .zsection, .pRside, .leftColl {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        float: none !important;
        border: none !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }
    .pcontent {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }
    .wrapper {
        padding: 10px 0 !important;
        min-width: 0 !important;
    }

    /* Popular actions container */
    .popular-actions {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 15px !important;
    }

    /* Categories list grid layout */
    #ulCat {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 10px 15px !important;
        box-sizing: border-box !important;
    }
    #ulCat li {
        float: none !important;
        width: 100% !important;
        border-bottom: 1px dotted #8C8C8C !important;
        padding: 6px 0 !important;
    }
    
    /* Layout Containers mobile styling */
    .petition-layout,
    .privacy-container,
    .faq-container,
    .help-container,
    .contact-container,
    .login-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px 0 !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    
    .petition-layout, .privacy-body {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 15px !important;
    }
    
    .privacy-sidebar {
        width: 100% !important;
    }
    .privacy-sidebar ul {
        position: static !important;
        border-left: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .privacy-sidebar li {
        margin-bottom: 0 !important;
    }
    .privacy-sidebar a {
        padding: 6px 12px !important;
        background: #f1f5f9 !important;
        border-radius: 20px !important;
        border-left: none !important;
        font-size: 13px !important;
        margin-left: 0 !important;
    }
    .privacy-sidebar a:hover, .privacy-sidebar a.active {
        background: #d4e5a0 !important;
        color: #4a6001 !important;
    }
    
    .petition-sidebar {
        width: 100% !important;
    }
    
    .grid-info, .about-body .grid-info {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    /* Carousel mobile overrides */
    .carousel-tabs {
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin-bottom: 16px !important;
    }
    .carousel-tab-btn {
        padding: 8px 12px !important;
        font-size: 13px !important;
    }
    .home-carousel-container {
        padding: 0 !important;
    }
    .carousel-track-wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 10px 0 !important;
        margin: 0 !important;
    }
    .carousel-track {
        transform: none !important;
        display: flex !important;
        width: max-content !important;
    }
    .carousel-page {
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;
        padding: 0 15px !important;
        justify-content: flex-start !important;
    }
    .carousel-card {
        width: 180px !important;
        flex-shrink: 0 !important;
        height: 360px !important;
    }
    .carousel-dots {
        display: none !important;
    }
    
    /* Chatbots mobile styling */
    .chatbot-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        border-radius: 0 !important;
    }
    .faq-chatbot-window {
        width: calc(100% - 30px) !important;
        height: 80vh !important;
        right: 15px !important;
        bottom: 80px !important;
        max-height: 500px !important;
    }
}


/* Fix: Prevent accessibility font overrides from breaking Material Icons */
body.acc-font-serif .material-icons,
body.acc-font-dyslexic .material-icons,
body.acc-font-hyperlegible .material-icons,
body.acc-font-limbus .material-icons,
body.acc-font-isaac .material-icons,
.material-icons {
    font-family: 'Material Icons' !important;
}

/* Fix: Prevent carousel cards from being cut off on hover */
.carousel-track-wrapper {
    padding: 12px 0 !important;
    margin: -12px 0 !important;
    overflow: visible !important; /* Allow hover scaling to overflow wrapper height */
}
.home-carousel-container {
    padding: 12px 0 !important;
    overflow: hidden !important; /* Contain the scroll track */
}

/* ==========================================================================
   COLOR THEMES OVERRIDES FOR MODERN PAGES (About Us, FAQ, Privacy, Terms, Help, Contact)
   ========================================================================== */

/* --- DARK THEME --- */
body.theme-dark .privacy-container,
body.theme-dark .faq-container,
body.theme-dark .help-container,
body.theme-dark .contact-container,
body.theme-dark .about-container,
body.theme-dark .form-card,
body.theme-dark .acc-card,
body.theme-dark .sub-acc-item,
body.theme-dark .contact-cta,
body.theme-dark .info-card,
body.theme-dark .petition-main,
body.theme-dark .auth-box,
body.theme-dark .stats-card,
body.theme-dark .quote-card,
body.theme-dark .checkbox-group {
    background-color: #1f2937 !important;
    background: #1f2937 !important;
    border-color: #374151 !important;
    color: #f1f5f9 !important;
    box-shadow: none !important;
}

body.theme-dark .stats-number {
    color: #ffffff !important;
}
body.theme-dark .stats-title,
body.theme-dark .stats-label {
    color: #38bdf8 !important;
}
body.theme-dark .form-control {
    background-color: #111827 !important;
    color: #f9fafb !important;
    border-color: #4b5563 !important;
}
body.theme-dark .auth-box p,
body.theme-dark .manual-form-title,
body.theme-dark .form-group label,
body.theme-dark .checkbox-group label {
    color: #cbd5e1 !important;
}
body.theme-dark .acc-card-header,
body.theme-dark .acc-card-body,
body.theme-dark .sub-acc-body {
    background-color: #1f2937 !important;
    color: #f1f5f9 !important;
}
body.theme-dark .acc-card-header h3,
body.theme-dark .sub-acc-header h4 {
    color: #f8fafc !important;
}
body.theme-dark .privacy-body {
    background-color: #111827 !important;
}
body.theme-dark .privacy-sidebar a {
    color: #94a3b8 !important;
}
body.theme-dark .privacy-sidebar a:hover,
body.theme-dark .privacy-sidebar a.active {
    color: #38bdf8 !important;
    background-color: #374151 !important;
}
body.theme-dark .privacy-section {
    border-top-color: #374151 !important;
}
body.theme-dark .privacy-content h3 {
    color: #f8fafc !important;
}
body.theme-dark .form-title {
    color: #f8fafc !important;
    border-bottom-color: #374151 !important;
}
body.theme-dark .about-hero,
body.theme-dark .privacy-hero,
body.theme-dark .help-hero,
body.theme-dark .contact-hero {
    background: linear-gradient(135deg, #0f766e 0%, #115e59 100%) !important;
}

/* --- CONTRAST THEME --- */
body.theme-contrast .privacy-container,
body.theme-contrast .faq-container,
body.theme-contrast .help-container,
body.theme-contrast .contact-container,
body.theme-contrast .about-container,
body.theme-contrast .form-card,
body.theme-contrast .acc-card,
body.theme-contrast .sub-acc-item,
body.theme-contrast .contact-cta,
body.theme-contrast .info-card,
body.theme-contrast .petition-main,
body.theme-contrast .auth-box,
body.theme-contrast .stats-card,
body.theme-contrast .quote-card,
body.theme-contrast .checkbox-group {
    background-color: #000000 !important;
    background: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.theme-contrast .stats-number {
    color: #ffffff !important;
}
body.theme-contrast .stats-title,
body.theme-contrast .stats-label {
    color: #ffff00 !important;
}
body.theme-contrast .form-control {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}
body.theme-contrast .auth-box p,
body.theme-contrast .manual-form-title,
body.theme-contrast .form-group label,
body.theme-contrast .checkbox-group label {
    color: #ffff00 !important;
}
body.theme-contrast .acc-card-header,
body.theme-contrast .acc-card-body,
body.theme-contrast .sub-acc-body {
    background-color: #000000 !important;
    color: #ffffff !important;
}
body.theme-contrast .acc-card-header h3,
body.theme-contrast .sub-acc-header h4 {
    color: #ffffff !important;
}
body.theme-contrast .privacy-body {
    background-color: #000000 !important;
}
body.theme-contrast .privacy-sidebar a {
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    margin: 2px !important;
}
body.theme-contrast .privacy-sidebar a:hover,
body.theme-contrast .privacy-sidebar a.active {
    color: #000000 !important;
    background-color: #ffffff !important;
}
body.theme-contrast .privacy-section {
    border-top: 2px solid #ffffff !important;
}
body.theme-contrast .privacy-content h3 {
    color: #ffffff !important;
}
body.theme-contrast .form-title {
    color: #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
}
body.theme-contrast .about-hero,
body.theme-contrast .privacy-hero,
body.theme-contrast .help-hero,
body.theme-contrast .contact-hero {
    background: #000000 !important;
    border-bottom: 2px solid #ffffff !important;
}

/* --- SOLARIZED LIGHT --- */
body.theme-solarized-light .privacy-container,
body.theme-solarized-light .faq-container,
body.theme-solarized-light .help-container,
body.theme-solarized-light .contact-container,
body.theme-solarized-light .about-container,
body.theme-solarized-light .form-card,
body.theme-solarized-light .acc-card,
body.theme-solarized-light .sub-acc-item,
body.theme-solarized-light .contact-cta,
body.theme-solarized-light .info-card,
body.theme-solarized-light .petition-main,
body.theme-solarized-light .auth-box,
body.theme-solarized-light .stats-card,
body.theme-solarized-light .quote-card,
body.theme-solarized-light .checkbox-group {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border-color: #eee8d5 !important;
    color: #2d2722 !important;
    box-shadow: none !important;
}

body.theme-solarized-light .stats-number {
    color: #2d2722 !important;
}
body.theme-solarized-light .stats-title,
body.theme-solarized-light .stats-label {
    color: #475a18 !important;
}
body.theme-solarized-light .form-control {
    background-color: #faf8f5 !important;
    color: #2d2722 !important;
    border-color: #d3c7a9 !important;
}
body.theme-solarized-light .auth-box p,
body.theme-solarized-light .manual-form-title,
body.theme-solarized-light .form-group label,
body.theme-solarized-light .checkbox-group label {
    color: #2d2722 !important;
}
body.theme-solarized-light .acc-card-header,
body.theme-solarized-light .acc-card-body,
body.theme-solarized-light .sub-acc-body {
    background-color: #ffffff !important;
    color: #2d2722 !important;
}
body.theme-solarized-light .acc-card-header h3,
body.theme-solarized-light .sub-acc-header h4 {
    color: #2d2722 !important;
}
body.theme-solarized-light .privacy-body {
    background-color: #faf8f5 !important;
}
body.theme-solarized-light .privacy-sidebar a {
    color: #6b6359 !important;
}
body.theme-solarized-light .privacy-sidebar a:hover,
body.theme-solarized-light .privacy-sidebar a.active {
    color: #475a18 !important;
    background-color: #faf8f5 !important;
}
body.theme-solarized-light .privacy-section {
    border-top-color: #eee8d5 !important;
}
body.theme-solarized-light .privacy-content h3 {
    color: #2d2722 !important;
}
body.theme-solarized-light .form-title {
    color: #2d2722 !important;
    border-bottom-color: #eee8d5 !important;
}
body.theme-solarized-light .about-hero,
body.theme-solarized-light .privacy-hero,
body.theme-solarized-light .help-hero,
body.theme-solarized-light .contact-hero {
    background: linear-gradient(135deg, #475a18 0%, #5f870e 100%) !important;
}

/* --- SOLARIZED DARK --- */
body.theme-solarized-dark .privacy-container,
body.theme-solarized-dark .faq-container,
body.theme-solarized-dark .help-container,
body.theme-solarized-dark .contact-container,
body.theme-solarized-dark .about-container,
body.theme-solarized-dark .form-card,
body.theme-solarized-dark .acc-card,
body.theme-solarized-dark .sub-acc-item,
body.theme-solarized-dark .contact-cta,
body.theme-solarized-dark .info-card,
body.theme-solarized-dark .petition-main,
body.theme-solarized-dark .auth-box,
body.theme-solarized-dark .stats-card,
body.theme-solarized-dark .quote-card,
body.theme-solarized-dark .checkbox-group {
    background-color: #1b2621 !important;
    background: #1b2621 !important;
    border-color: #2d3d35 !important;
    color: #e8ece9 !important;
    box-shadow: none !important;
}

body.theme-solarized-dark .stats-number {
    color: #ffffff !important;
}
body.theme-solarized-dark .stats-title,
body.theme-solarized-dark .stats-label {
    color: #a3e635 !important;
}
body.theme-solarized-dark .form-control {
    background-color: #121a16 !important;
    color: #e8ece9 !important;
    border-color: #2d3d35 !important;
}
body.theme-solarized-dark .auth-box p,
body.theme-solarized-dark .manual-form-title,
body.theme-solarized-dark .form-group label,
body.theme-solarized-dark .checkbox-group label {
    color: #cbd5d2 !important;
}
body.theme-solarized-dark .acc-card-header,
body.theme-solarized-dark .acc-card-body,
body.theme-solarized-dark .sub-acc-body {
    background-color: #1b2621 !important;
    color: #e8ece9 !important;
}
body.theme-solarized-dark .acc-card-header h3,
body.theme-solarized-dark .sub-acc-header h4 {
    color: #e8ece9 !important;
}
body.theme-solarized-dark .privacy-body {
    background-color: #121a16 !important;
}
body.theme-solarized-dark .privacy-sidebar a {
    color: #a3b8b0 !important;
}
body.theme-solarized-dark .privacy-sidebar a:hover,
body.theme-solarized-dark .privacy-sidebar a.active {
    color: #a3e635 !important;
    background-color: #121a16 !important;
}
body.theme-solarized-dark .privacy-section {
    border-top-color: #2d3d35 !important;
}
body.theme-solarized-dark .privacy-content h3 {
    color: #e8ece9 !important;
}
body.theme-solarized-dark .form-title {
    color: #e8ece9 !important;
    border-bottom-color: #2d3d35 !important;
}
body.theme-solarized-dark .about-hero,
body.theme-solarized-dark .privacy-hero,
body.theme-solarized-dark .help-hero,
body.theme-solarized-dark .contact-hero {
    background: linear-gradient(135deg, #121a16 0%, #1b2621 100%) !important;
}

/* ==========================================================================
   FAQ CHATBOT THEME ADAPTATIONS
   ========================================================================== */

/* --- DARK THEME --- */
body.theme-dark .faq-chatbot-fab {
    background: #0f766e !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
body.theme-dark .chatbot-wrapper,
body.theme-dark .faq-chatbot-window {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}
body.theme-dark .chatbot-header,
body.theme-dark .faq-chatbot-header {
    background: #0f766e !important;
    box-shadow: 0 2px 12px rgba(15, 118, 110, 0.3) !important;
    border-bottom: 1px solid #115e59 !important;
    color: #ffffff !important;
}
body.theme-dark .chatbot-header-info h2,
body.theme-dark .faq-chatbot-header-info h3,
body.theme-dark .chatbot-header-info p,
body.theme-dark .faq-chatbot-header-info p {
    color: #ccfbf1 !important;
}
body.theme-dark .chatbot-body,
body.theme-dark .faq-chatbot-body {
    background-color: #111827 !important;
}
body.theme-dark .chat-bubble.bot,
body.theme-dark .faq-chat-bubble.bot {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
    color: #cbd5e1 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
body.theme-dark .chat-bubble.user,
body.theme-dark .faq-chat-bubble.user {
    background: #0f766e !important;
    color: #ffffff !important;
}
body.theme-dark .chat-option-btn,
body.theme-dark .faq-chat-opt-btn {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
    color: #38bdf8 !important;
}
body.theme-dark .chat-option-btn:hover,
body.theme-dark .faq-chat-opt-btn:hover {
    background-color: #374151 !important;
    border-color: #38bdf8 !important;
    color: #38bdf8 !important;
}
body.theme-dark .chat-option-btn.back-btn,
body.theme-dark .faq-chat-opt-btn.back-btn {
    background-color: #111827 !important;
    border-color: #374151 !important;
    color: #94a3b8 !important;
}
body.theme-dark .chat-option-btn.back-btn:hover,
body.theme-dark .faq-chat-opt-btn.back-btn:hover {
    background-color: #1f2937 !important;
    border-color: #4b5563 !important;
    color: #cbd5e1 !important;
}
body.theme-dark .chat-option-btn.action-btn,
body.theme-dark .faq-chat-opt-btn.action-btn {
    background: #0f766e !important;
    border-color: #0f766e !important;
    color: #ffffff !important;
}
body.theme-dark .chat-option-btn.action-btn:hover,
body.theme-dark .faq-chat-opt-btn.action-btn:hover {
    background: #115e59 !important;
    color: #ffffff !important;
}
body.theme-dark .chatbot-footer,
body.theme-dark .faq-chatbot-footer {
    background-color: #1f2937 !important;
    border-top-color: #374151 !important;
    color: #94a3b8 !important;
}
body.theme-dark .chatbot-footer a,
body.theme-dark .faq-chatbot-footer a {
    color: #38bdf8 !important;
}
body.theme-dark .faq-chatbot-close-btn {
    color: #cbd5e1 !important;
}
body.theme-dark .faq-chatbot-close-btn:hover {
    color: #ffffff !important;
}
body.theme-dark .typing-dot,
body.theme-dark .faq-typing-dot {
    background-color: #6b7280 !important;
}

/* --- SOLARIZED LIGHT --- */
body.theme-solarized-light .faq-chatbot-fab {
    background: #475a18 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}
body.theme-solarized-light .chatbot-wrapper,
body.theme-solarized-light .faq-chatbot-window {
    background-color: #ffffff !important;
    border-color: #eee8d5 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
}
body.theme-solarized-light .chatbot-header,
body.theme-solarized-light .faq-chatbot-header {
    background: #475a18 !important;
    border-bottom: 1px solid #5f870e !important;
    color: #ffffff !important;
}
body.theme-solarized-light .chatbot-header-info h2,
body.theme-solarized-light .faq-chatbot-header-info h3,
body.theme-solarized-light .chatbot-header-info p,
body.theme-solarized-light .faq-chatbot-header-info p {
    color: #f7fbda !important;
}
body.theme-solarized-light .chatbot-body,
body.theme-solarized-light .faq-chatbot-body {
    background-color: #f5efe6 !important;
}
body.theme-solarized-light .chat-bubble.bot,
body.theme-solarized-light .faq-chat-bubble.bot {
    background-color: #ffffff !important;
    border-color: #eee8d5 !important;
    color: #2d2722 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
body.theme-solarized-light .chat-bubble.user,
body.theme-solarized-light .faq-chat-bubble.user {
    background: #475a18 !important;
    color: #ffffff !important;
}
body.theme-solarized-light .chat-option-btn,
body.theme-solarized-light .faq-chat-opt-btn {
    background-color: #ffffff !important;
    border-color: #d3c7a9 !important;
    color: #2d2722 !important;
}
body.theme-solarized-light .chat-option-btn:hover,
body.theme-solarized-light .faq-chat-opt-btn:hover {
    background-color: #faf8f5 !important;
    border-color: #475a18 !important;
    color: #475a18 !important;
}
body.theme-solarized-light .chat-option-btn.back-btn,
body.theme-solarized-light .faq-chat-opt-btn.back-btn {
    background-color: #faf8f5 !important;
    border-color: #eee8d5 !important;
    color: #6b6359 !important;
}
body.theme-solarized-light .chat-option-btn.back-btn:hover,
body.theme-solarized-light .faq-chat-opt-btn.back-btn:hover {
    background-color: #eee8d5 !important;
    color: #2d2722 !important;
}
body.theme-solarized-light .chat-option-btn.action-btn,
body.theme-solarized-light .faq-chat-opt-btn.action-btn {
    background: #475a18 !important;
    border-color: #475a18 !important;
    color: #ffffff !important;
}
body.theme-solarized-light .chat-option-btn.action-btn:hover,
body.theme-solarized-light .faq-chat-opt-btn.action-btn:hover {
    background: #5f870e !important;
    color: #ffffff !important;
}
body.theme-solarized-light .chatbot-footer,
body.theme-solarized-light .faq-chatbot-footer {
    background-color: #ffffff !important;
    border-top-color: #eee8d5 !important;
    color: #6b6359 !important;
}
body.theme-solarized-light .chatbot-footer a,
body.theme-solarized-light .faq-chatbot-footer a {
    color: #1d4ed8 !important;
}
body.theme-solarized-light .faq-chatbot-close-btn {
    color: #6b6359 !important;
}
body.theme-solarized-light .faq-chatbot-close-btn:hover {
    color: #2d2722 !important;
}
body.theme-solarized-light .typing-dot,
body.theme-solarized-light .faq-typing-dot {
    background-color: #93a1a1 !important;
}

/* --- SOLARIZED DARK --- */
body.theme-solarized-dark .faq-chatbot-fab {
    background: #5f870e !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
body.theme-solarized-dark .chatbot-wrapper,
body.theme-solarized-dark .faq-chatbot-window {
    background-color: #1b2621 !important;
    border-color: #2d3d35 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}
body.theme-solarized-dark .chatbot-header,
body.theme-solarized-dark .faq-chatbot-header {
    background: #5f870e !important;
    border-bottom: 1px solid #4a6001 !important;
    color: #ffffff !important;
}
body.theme-solarized-dark .chatbot-header-info h2,
body.theme-solarized-dark .faq-chatbot-header-info h3,
body.theme-solarized-dark .chatbot-header-info p,
body.theme-solarized-dark .faq-chatbot-header-info p {
    color: #f7fbda !important;
}
body.theme-solarized-dark .chatbot-body,
body.theme-solarized-dark .faq-chatbot-body {
    background-color: #121a16 !important;
}
body.theme-solarized-dark .chat-bubble.bot,
body.theme-solarized-dark .faq-chat-bubble.bot {
    background-color: #1b2621 !important;
    border-color: #2d3d35 !important;
    color: #e8ece9 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
body.theme-solarized-dark .chat-bubble.user,
body.theme-solarized-dark .faq-chat-bubble.user {
    background: #5f870e !important;
    color: #ffffff !important;
}
body.theme-solarized-dark .chat-option-btn,
body.theme-solarized-dark .faq-chat-opt-btn {
    background-color: #1b2621 !important;
    border-color: #2d3d35 !important;
    color: #a3e635 !important;
}
body.theme-solarized-dark .chat-option-btn:hover,
body.theme-solarized-dark .faq-chat-opt-btn:hover {
    background-color: #121a16 !important;
    border-color: #a3e635 !important;
    color: #a3e635 !important;
}
body.theme-solarized-dark .chat-option-btn.back-btn,
body.theme-solarized-dark .faq-chat-opt-btn.back-btn {
    background-color: #121a16 !important;
    border-color: #2d3d35 !important;
    color: #8fa096 !important;
}
body.theme-solarized-dark .chat-option-btn.back-btn:hover,
body.theme-solarized-dark .faq-chat-opt-btn.back-btn:hover {
    background-color: #1b2621 !important;
    color: #e8ece9 !important;
}
body.theme-solarized-dark .chat-option-btn.action-btn,
body.theme-solarized-dark .faq-chat-opt-btn.action-btn {
    background: #5f870e !important;
    border-color: #5f870e !important;
    color: #ffffff !important;
}
body.theme-solarized-dark .chat-option-btn.action-btn:hover,
body.theme-solarized-dark .faq-chat-opt-btn.action-btn:hover {
    background: #4a6001 !important;
    color: #ffffff !important;
}
body.theme-solarized-dark .chatbot-footer,
body.theme-solarized-dark .faq-chatbot-footer {
    background-color: #1b2621 !important;
    border-top-color: #2d3d35 !important;
    color: #8fa096 !important;
}
body.theme-solarized-dark .chatbot-footer a,
body.theme-solarized-dark .faq-chatbot-footer a {
    color: #a3e635 !important;
}
body.theme-solarized-dark .faq-chatbot-close-btn {
    color: #8fa096 !important;
}
body.theme-solarized-dark .faq-chatbot-close-btn:hover {
    color: #ffffff !important;
}
body.theme-solarized-dark .typing-dot,
body.theme-solarized-dark .faq-typing-dot {
    background-color: #586e75 !important;
}

/* --- HIGH CONTRAST --- */
body.theme-contrast .faq-chatbot-fab {
    background: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chatbot-wrapper,
body.theme-contrast .faq-chatbot-window {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
}
body.theme-contrast .chatbot-header,
body.theme-contrast .faq-chatbot-header {
    background: #000000 !important;
    border-bottom: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chatbot-header-info h2,
body.theme-contrast .faq-chatbot-header-info h3,
body.theme-contrast .chatbot-header-info p,
body.theme-contrast .faq-chatbot-header-info p {
    color: #ffff00 !important;
}
body.theme-contrast .chatbot-body,
body.theme-contrast .faq-chatbot-body {
    background-color: #000000 !important;
}
body.theme-contrast .chat-bubble.bot,
body.theme-contrast .faq-chat-bubble.bot {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chat-bubble.user,
body.theme-contrast .faq-chat-bubble.user {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
}
body.theme-contrast .chat-option-btn,
body.theme-contrast .faq-chat-opt-btn {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chat-option-btn:hover,
body.theme-contrast .faq-chat-opt-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}
body.theme-contrast .chat-option-btn.back-btn,
body.theme-contrast .faq-chat-opt-btn.back-btn {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chat-option-btn.action-btn,
body.theme-contrast .faq-chat-opt-btn.action-btn {
    background: #000000 !important;
    border: 2px solid #ffff00 !important;
    color: #ffff00 !important;
}
body.theme-contrast .chat-option-btn.action-btn:hover,
body.theme-contrast .faq-chat-opt-btn.action-btn:hover {
    background: #ffff00 !important;
    color: #000000 !important;
}
body.theme-contrast .chatbot-footer,
body.theme-contrast .faq-chatbot-footer {
    background-color: #000000 !important;
    border-top: 2px solid #ffffff !important;
    color: #ffffff !important;
}
body.theme-contrast .chatbot-footer a,
body.theme-contrast .faq-chatbot-footer a {
    color: #ffff00 !important;
}
body.theme-contrast .faq-chatbot-close-btn {
    color: #ffffff !important;
}
body.theme-contrast .faq-chatbot-close-btn:hover {
    color: #ffff00 !important;
}
body.theme-contrast .typing-dot,
body.theme-contrast .faq-typing-dot {
    background-color: #ffffff !important;
}

