/* Explain: Base reset, typography, accessibility styles, and print optimization. - */
* {
    box-sizing: border-box;
}

[x-cloak] { display: none !important; }

html {
    background: var(--background-color);
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

/* RTL Support for daisyUI elements if needed */
.accordion-content {
    display: none;
}
.accordion-toggle:checked ~ .accordion-content {
    display: block;
}

/* Accessibility Classes */
body.acc-high-contrast {
    --background-color: #000000;
    --surface-color: #111111;
    --text-color: #ffffff;
    --text-muted: #cccccc;
    --border-color: #444444;
    --primary-color: #ffff00;
    --primary-hover: #cccc00;
}
body.acc-high-contrast * {
    border-color: #444444 !important;
}
body.acc-large-text {
    font-size: 115%;
}
body.acc-highlight-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    color: var(--primary-color) !important;
    font-weight: bold !important;
}

/* Custom Scrollbar for Sticky Sidebars */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: var(--border-color);
    border-radius: 10px;
}
.custom-scrollbar:hover::-webkit-scrollbar-thumb {
    background-color: var(--primary-color);
}

/* Print Optimization (A4) */
@media print {
    @page {
        size: A4 portrait;
        margin: 1.5cm;
    }
    body {
        background: white !important;
        color: black !important;
    }
    .rich-text-content {
        font-size: 12pt !important;
        line-height: 1.6 !important;
    }
    .rich-text-content h1, 
    .rich-text-content h2, 
    .rich-text-content h3 {
        page-break-after: avoid;
        color: black !important;
    }
    .rich-text-content p, 
    .rich-text-content img,
    .rich-text-content blockquote {
        page-break-inside: avoid;
    }
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}