/* =========================================================
   ACCESSIBILITY UTILITY
   PONNAMPET TOWN CO-OPERATIVE BANK
   USES UNIVERSAL MAIN CSS VARIABLES
========================================================= */


/* =========================================================
   ACCESSIBILITY WRAPPER
========================================================= */

.accessibility-wrapper {

    position: fixed;

    top: 90px;

    right: 20px;

    z-index: 999999;

}


/* =========================================================
   HIDE CHECKBOX
========================================================= */

#accessibility-toggle {

    display: none;

}


/* =========================================================
   LAUNCHER BUTTON
========================================================= */

.accessibility-launcher {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-height: 44px;

    padding: 11px 17px;

    background: var(--brand-navy);

    color: #ffffff;

    border: 1px solid var(--brand-navy);

    border-radius: var(--radius-sm);

    cursor: pointer;

    font-size: 14px;

    font-weight: 700;

    line-height: 1;

    box-shadow: var(--shadow-sm);

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;

}


.accessibility-launcher:hover {

    background: var(--brand-orange);

    color: #ffffff;

    border-color: var(--brand-orange);

    transform: translateY(-2px);

    box-shadow: var(--shadow-md);

}


/* Launcher Icon */

.accessibility-launcher i {

    font-size: 16px;

}


/* =========================================================
   ACCESSIBILITY TOOLBAR
========================================================= */

.accessibility-bar {

    margin-top: 10px;

    width: 320px;

    padding: 16px;

    background: #ffffff;

    border: 1px solid var(--border-color);

    border-radius: var(--radius-md);

    box-shadow: var(--shadow-lg);

    display: none;

    grid-template-columns: repeat(3, 1fr);

    gap: 10px;

}


/* =========================================================
   SHOW TOOLBAR
========================================================= */

#accessibility-toggle:checked ~ .accessibility-bar {

    display: grid;

}


/* =========================================================
   TOOLBAR TITLE
========================================================= */

.accessibility-title {

    grid-column: 1 / -1;

    display: flex;

    align-items: center;

    gap: 9px;

    padding-bottom: 12px;

    margin-bottom: 2px;

    color: var(--brand-navy);

    border-bottom: 1px solid var(--border-color);

    font-size: 15px;

    font-weight: 700;

}


.accessibility-title i {

    color: var(--brand-orange);

    font-size: 16px;

}


/* =========================================================
   ACCESSIBILITY BUTTONS
========================================================= */

.accessibility-bar button {

    min-height: 42px;

    padding: 8px 6px;

    border: 1px solid var(--border-color);

    border-radius: var(--radius-sm);

    background: var(--brand-orange-light);

    color: var(--brand-navy);

    cursor: pointer;

    font-family: inherit;

    font-size: 12px;

    font-weight: 700;

    line-height: 1.2;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;

}


.accessibility-bar button:hover {

    background: var(--brand-orange);

    color: #ffffff;

    border-color: var(--brand-orange);

    transform: translateY(-1px);

    box-shadow: var(--shadow-sm);

}


/* =========================================================
   ACTIVE BUTTON
========================================================= */

.accessibility-bar button.active {

    background: var(--brand-navy);

    color: #ffffff;

    border-color: var(--brand-navy);

    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.20);

}


/* =========================================================
   RESET BUTTON
========================================================= */

.accessibility-bar .reset-btn {

    grid-column: 1 / -1;

    background: #f3f4f6 !important;

    color: var(--text-dark) !important;

    border-color: var(--border-color) !important;

}


.accessibility-bar .reset-btn:hover {

    background: var(--brand-orange) !important;

    color: #ffffff !important;

    border-color: var(--brand-orange) !important;

}


/* =========================================================
   HIGH CONTRAST
========================================================= */

body.high-contrast {

    background: #000000 !important;

    color: #ffffff !important;

}


body.high-contrast * {

    border-color: #ffffff !important;

}


body.high-contrast p,
body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
body.high-contrast h6,
body.high-contrast span,
body.high-contrast li,
body.high-contrast label {

    color: #ffffff !important;

}


body.high-contrast a {

    color: #ffff00 !important;

}


body.high-contrast button {

    background: #000000 !important;

    color: #ffffff !important;

    border: 2px solid #ffffff !important;

}


/* =========================================================
   GRAYSCALE
========================================================= */

body.grayscale {

    filter: grayscale(100%);

}


/* =========================================================
   DARK MODE
========================================================= */

body.dark-mode {

    background: #111827 !important;

    color: #f3f4f6 !important;

}


/* Main content surfaces */

body.dark-mode .content-page,
body.dark-mode .section,
body.dark-mode .section-light,
body.dark-mode .card,
body.dark-mode .feature-box,
body.dark-mode .feature-card,
body.dark-mode .stat-card,
body.dark-mode .about-content,
body.dark-mode .rate-table-wrapper,
body.dark-mode .info-box,
body.dark-mode .notice-box {

    background: #1f2937 !important;

    color: #f3f4f6 !important;

}


/* Text */

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {

    color: #ffffff !important;

}


body.dark-mode p,
body.dark-mode li {

    color: #d1d5db !important;

}


/* Links */

body.dark-mode a {

    color: var(--brand-orange) ;

}


/* Accessibility Panel */

body.dark-mode .accessibility-bar {

    background: #1f2937;

    border-color: #374151;

}


body.dark-mode .accessibility-title {

    color: #ffffff;

    border-color: #374151;

}


body.dark-mode .accessibility-bar button {

    background: #273449;

    color: #ffffff;

    border-color: #4b5563;

}


body.dark-mode .accessibility-bar button:hover {

    background: var(--brand-orange);

    color: #ffffff;

    border-color: var(--brand-orange);

}


body.dark-mode .accessibility-bar .reset-btn {

    background: #374151 !important;

    color: #ffffff !important;

    border-color: #4b5563 !important;

}


/* =========================================================
   UNDERLINE LINKS
========================================================= */

body.underline-links a {

    text-decoration: underline !important;

    text-decoration-thickness: 2px;

    text-underline-offset: 3px;

}


/* =========================================================
   LARGE CURSOR
========================================================= */

body.large-cursor,
body.large-cursor * {

    cursor: pointer !important;

}


/* =========================================================
   LARGE CURSOR - LINKS & BUTTONS
========================================================= */

body.large-cursor a,
body.large-cursor button,
body.large-cursor label {

    cursor: pointer !important;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {

    .accessibility-wrapper {

        top: auto;

        right: 15px;

        bottom: 20px;

    }


    .accessibility-bar {

        width: 290px;

        grid-template-columns: repeat(2, 1fr);

    }


    .accessibility-launcher {

        min-height: 42px;

        padding: 10px 15px;

        font-size: 13px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .accessibility-wrapper {

        right: 12px;

        bottom: 15px;

    }


    .accessibility-bar {

        width: calc(100vw - 24px);

        max-width: 280px;

        padding: 12px;

        gap: 8px;

        border-radius: var(--radius-md);

    }


    .accessibility-launcher {

        min-height: 40px;

        padding: 9px 13px;

        font-size: 12px;

    }


    .accessibility-launcher i {

        font-size: 14px;

    }


    .accessibility-bar button {

        min-height: 40px;

        font-size: 11px;

    }


    .accessibility-title {

        font-size: 14px;

    }

}




/* =========================================================
   ACCESSIBILITY FONT SIZE
   UNIVERSAL WEBSITE
========================================================= */


/* =========================================================
   SMALL FONT
========================================================= */

body.font-small
main p,
body.font-small
main li,
body.font-small
main td,
body.font-small
main th,
body.font-small
main a,
body.font-small
main span,
body.font-small
main label,
body.font-small
main button {

    font-size: 90% !important;

}


/* =========================================================
   LARGE FONT
========================================================= */

body.font-large
main p,
body.font-large
main li,
body.font-large
main td,
body.font-large
main th,
body.font-large
main a,
body.font-large
main span,
body.font-large
main label,
body.font-large
main button {

    font-size: 115% !important;

}


/* =========================================================
   EXTRA LARGE FONT
========================================================= */

body.font-xlarge
main p,
body.font-xlarge
main li,
body.font-xlarge
main td,
body.font-xlarge
main th,
body.font-xlarge
main a,
body.font-xlarge
main span,
body.font-xlarge
main label,
body.font-xlarge
main button {

    font-size: 130% !important;

}


/* =========================================================
   HEADINGS
========================================================= */


/* SMALL */

body.font-small main h1 {
    font-size: 90% !important;
}

body.font-small main h2 {
    font-size: 92% !important;
}

body.font-small main h3 {
    font-size: 94% !important;
}

body.font-small main h4 {
    font-size: 95% !important;
}


/* LARGE */

body.font-large main h1 {
    font-size: 115% !important;
}

body.font-large main h2 {
    font-size: 115% !important;
}

body.font-large main h3 {
    font-size: 115% !important;
}

body.font-large main h4 {
    font-size: 115% !important;
}


/* EXTRA LARGE */

body.font-xlarge main h1 {
    font-size: 130% !important;
}

body.font-xlarge main h2 {
    font-size: 125% !important;
}

body.font-xlarge main h3 {
    font-size: 120% !important;
}

body.font-xlarge main h4 {
    font-size: 120% !important;
}


/* =========================================================
   HERO
========================================================= */

body.font-small main .hero-title {
    font-size: 90% !important;
}

body.font-large main .hero-title {
    font-size: 115% !important;
}

body.font-xlarge main .hero-title {
    font-size: 130% !important;
}


body.font-small main .hero-subtitle {
    font-size: 90% !important;
}

body.font-large main .hero-subtitle {
    font-size: 115% !important;
}

body.font-xlarge main .hero-subtitle {
    font-size: 130% !important;
}


/* =========================================================
   BANK HIGHLIGHT
========================================================= */

body.font-small main .bank-highlight-title {
    font-size: 90% !important;
}

body.font-large main .bank-highlight-title {
    font-size: 115% !important;
}

body.font-xlarge main .bank-highlight-title {
    font-size: 130% !important;
}


body.font-small main .bank-highlight-text {
    font-size: 90% !important;
}

body.font-large main .bank-highlight-text {
    font-size: 115% !important;
}

body.font-xlarge main .bank-highlight-text {
    font-size: 130% !important;
}


/* =========================================================
   DEATH FUND / SPECIAL HIGHLIGHT
========================================================= */

body.font-small main .highlight-title,
body.font-small main .death-title {
    font-size: 90% !important;
}

body.font-large main .highlight-title,
body.font-large main .death-title {
    font-size: 115% !important;
}

body.font-xlarge main .highlight-title,
body.font-xlarge main .death-title {
    font-size: 130% !important;
}


body.font-small main .highlight-text,
body.font-small main .death-text {
    font-size: 90% !important;
}

body.font-large main .highlight-text,
body.font-large main .death-text {
    font-size: 115% !important;
}

body.font-xlarge main .highlight-text,
body.font-xlarge main .death-text {
    font-size: 130% !important;
}


/* =========================================================
   CARDS
========================================================= */

body.font-small main .card h3,
body.font-small main .feature-box h3 {
    font-size: 94% !important;
}

body.font-large main .card h3,
body.font-large main .feature-box h3 {
    font-size: 115% !important;
}

body.font-xlarge main .card h3,
body.font-xlarge main .feature-box h3 {
    font-size: 120% !important;
}


/* =========================================================
   BADGES / PAGE TAGS
========================================================= */

body.font-large main .badge,
body.font-large main .page-tag {
    font-size: 110% !important;
}

body.font-xlarge main .badge,
body.font-xlarge main .page-tag {
    font-size: 120% !important;
}


/* =========================================================
   TABLES
========================================================= */

body.font-large main table {
    font-size: 115% !important;
}

body.font-xlarge main table {
    font-size: 130% !important;
}


/* =========================================================
   BUTTONS
========================================================= */

body.font-large main .btn {
    font-size: 115% !important;
}

body.font-xlarge main .btn {
    font-size: 125% !important;
}