/* ============================================================
   LOCALLY HOSTED TREBUCHET MS WEBFONT DECLARATIONS
   Ensures consistent typography across Android, iOS, Windows, Mac
   ============================================================ */
@font-face {
    font-family: 'Trebuchet MS';
    src: local('Trebuchet MS'),
        url('../fonts/trebuc.woff') format('woff'),
        url('../fonts/trebuc.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Monotype Corsiva';
    src: url('../fonts/Monotype-Corsiva-Bold.ttf');
    font-weight: bold;

}


@font-face {
    font-family: 'Trebuchet MS';
    src: local('Trebuchet MS Bold'),
        url('../fonts/trebucbd.woff') format('woff'),
        url('../fonts/trebucbd.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trebuchet MS';
    src: local('Trebuchet MS Italic'),
        url('../fonts/trebucit.woff') format('woff'),
        url('../fonts/trebucit.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Trebuchet MS';
    src: local('Trebuchet MS Bold Italic'),
        url('../fonts/trebucbi.woff') format('woff'),
        url('../fonts/trebucbi.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

.font-trebuchet {
    font-family: 'Trebuchet MS', Verdana, Arial, sans-serif !important;
}

html,
body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100%;
    position: relative;
}

#services-drawer-list a,
.drawer-service-link,
#mobile-menu>a {
    background: linear-gradient(to bottom, #64a5cb 0%, #0670ad 100%) !important;
    color: #ffffff !important;
    margin-bottom: 6px;
    border-radius: 8px;
    font-weight: 700;
}

#mobile-menu>a {
    padding: 10px 14px;
    border-bottom: none !important;
    display: block;
    width: 100%;
    box-sizing: border-box;
    transition: filter 0.2s ease;
}

#mobile-menu>a:hover,
#services-drawer-list a:hover,
.drawer-service-link:hover {
    filter: brightness(1.1);
}

#services-drawer-list a i,
.drawer-service-link i {
    color: #f3c649 !important;
}

/* Override Tailwind default reset for lists so bullet points and numbering render properly */
ul {
    list-style-type: disc !important;
    margin-left: 1.5rem !important;
    padding-left: 0.5rem !important;
}

ol {
    list-style-type: decimal !important;
    margin-left: 1.5rem !important;
    padding-left: 0.5rem !important;
}

li {
    display: list-item !important;
    margin-bottom: 0.25rem !important;
}

/* Ensure navigation bars, sidebars, and header menus keep clean layout without bullets */
nav ul,
aside ul,
header ul,
footer ul,
#mobile-menu,
#services-drawer-list,
.no-bullets,
.no-bullets ul {
    list-style-type: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Explicit styling for Rich Text Editor & Service/Article details description lists */
.space-y-4 ul,
.dynamic-form-container ul,
#quill-editor-container ul,
.ql-editor ul,
.article-body-content ul {
    list-style-type: disc !important;
    margin-left: 1.5rem !important;
    padding-left: 0.5rem !important;
}

.space-y-4 ol,
.dynamic-form-container ol,
#quill-editor-container ol,
.ql-editor ol,
.article-body-content ol {
    list-style-type: decimal !important;
    margin-left: 1.5rem !important;
    padding-left: 0.5rem !important;
}

.space-y-4 li,
.dynamic-form-container li,
#quill-editor-container li,
.ql-editor li,
.article-body-content li {
    display: list-item !important;
    list-style-type: disc !important;
}

/* Quill Text Alignment Styles */
.ql-align-center {
    text-align: center !important;
}

.ql-align-right {
    text-align: right !important;
}

.ql-align-justify {
    text-align: justify !important;
}

.ql-align-left {
    text-align: left !important;
}

/* Rich Text Editor & Frontend Table Styling */
.ql-editor table,
.space-y-4 table,
.article-body-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1rem 0 !important;
    font-size: 13px !important;
    /* background-color: #ffffff !important; */
}

.ql-editor table th,
.ql-editor table td,
.space-y-4 table th,
.space-y-4 table td,
.article-body-content table th,
.article-body-content table td {
    /* border: 1px solid #cbd5e1 !important; */
    padding: 4px 12px !important;
    text-align: left !important;
}

.ql-editor .space-y-4 p {
    margin-top: 5px;
}

.ql-editor table th,
.space-y-4 table th,
.article-body-content table th {
    background-color: #f1f5f9 !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}


/* Explicit Rich Text Typography overrides for Bold, Headings, Underline, Italic */
strong,
b,
.font-bold {
    font-weight: 700 !important;
}

u {
    text-decoration: underline !important;
}

/* Heading styles in content areas (Quill / Service Details / Articles / General Pages) */
.space-y-4 h1,
.ql-editor h1,
.article-body-content h1 {
    font-size: 1.875rem !important;
    /* 30px */
    line-height: 2.25rem !important;
    font-weight: 800 !important;
    color: #990000 !important;
    margin-top: 1rem !important;
    margin-bottom: 0.5rem !important;
}

.space-y-4 h2,
.ql-editor h2,
.article-body-content h2 {
    font-size: 1.5rem !important;
    /* 24px */
    line-height: 2rem !important;
    font-weight: 700 !important;
    color: #990000 !important;
    margin-top: 0.875rem !important;
    margin-bottom: 0.5rem !important;
}

.space-y-4 h3,
.ql-editor h3,
.article-body-content h3 {
    font-size: 1.25rem !important;
    /* 20px */
    line-height: 1.75rem !important;
    font-weight: 700 !important;
    color: #006600 !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.375rem !important;
}

.space-y-4 h4,
.ql-editor h4,
.article-body-content h4 {
    font-size: 1.125rem !important;
    /* 18px */
    line-height: 1.5rem !important;
    font-weight: 700 !important;
    color: #003366 !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.375rem !important;
}

.space-y-4 h5,
.ql-editor h5,
.article-body-content h5 {
    font-size: 1rem !important;
    /* 16px */
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.25rem !important;
}

.space-y-4 h6,
.ql-editor h6,
.article-body-content h6 {
    font-size: 0.875rem !important;
    /* 14px */
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.25rem !important;
}

.space-y-6 a {
    color: red;
    text-decoration: underline !important;
}

.space-y-6 p {
    margin-top: 5px !important;
}

.heading-title {
    color: #004000 !important;
    font-family: "Monotype Corsiva";
}