/* --- Variables --- */
:root {--primary-color: #F0932B;--secondary-color: #212020;--font-main: 'Ubuntu', sans-serif;--site-max-width: 1600px;}
body {font-family: var(--font-main);display: flex;flex-direction: column;min-height: 100vh;}
.force-truncate {max-width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: block;}



/* Layout Container */
.custom-container {max-width: var(--site-max-width);margin: 0 auto;padding-left: 1rem;padding-right: 1rem;width: 100%;}

/* --- Theme Colors --- */
.text-primary-theme {color: var(--primary-color) !important;}

/* Ensuring the exact dark color for bg-custom-dark */
.bg-custom-dark {background-color: var(--secondary-color) !important;color: white;}
.btn-theme {background-color: var(--primary-color);color: white;border: none;}
.btn-theme:hover {background-color: #d38326;color: white;}
.btn-theme:focus {background-color: #d38326;color: white;}
.btn-theme:hover,
.btn-theme:focus,
.btn-theme:active {background-color: #d38326!important;color: white!important;}

/* --- Navbar Global --- */
.navbar {border-bottom: none !important;padding-top: 1rem;padding-bottom: 1rem;}
.navbar-brand {font-weight: 700;display: flex;align-items: center;gap: 8px;color: white !important;}
.navbar-brand i {color: var(--primary-color);font-size: 1.8rem;}

/* Scroll To Top */
i.ti.ti-arrow-up {position: relative;right: 3px;}

/* Alerts */
.alert {margin: 10px 0px;}

/* --- [FIXED] DESKTOP DROPDOWN MENU --- */
@media (min-width: 992px) {.nav-item.dropdown:hover .dropdown-menu {display: block;opacity: 1;visibility: visible;transform: translateY(0);}
.dropdown-menu {display: block;opacity: 0;visibility: hidden;transform: translateY(0);transition: opacity 0.2s ease;margin-top: 0 !important;border: none !important;border-radius: 0 0 8px 8px !important;background-color: var(--secondary-color) !important;padding: 0;min-width: 200px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);overflow: hidden;}
.dropdown-item {color: rgba(255, 255, 255, 0.8);padding: 12px 20px;font-weight: 400;transition: all 0.2s;border-bottom: 1px solid rgba(255, 255, 255, 0.05);}
.dropdown-item:last-child {border-bottom: none;}
.dropdown-item:hover {background-color: var(--primary-color);color: white;padding-left: 25px;}
}

/* --- [FIXED] MOBILE MENU (OFFCANVAS) --- */
@media (max-width: 991px) {
.navbar-toggler {display: flex !important;align-items: center;justify-content: center;width: 44px;height: 44px;padding: 0;border: none !important;background: transparent !important;margin-right: 15px;z-index: 10;}
.navbar-toggler i {font-size: 28px !important;color: #ffffff !important;line-height: 1;}
.navbar .custom-container {position: relative;justify-content: flex-start;}
.navbar-brand {position: absolute;left: 50%;transform: translateX(-50%);margin: 0;}
.offcanvas-body .nav-link {padding-top: 12px;padding-bottom: 12px;font-size: 1.1rem;border-bottom: 1px solid rgba(255, 255, 255, 0.05);}
.offcanvas-body .dropdown-menu {background-color: transparent !important;border: none !important;padding-left: 15px;padding-top: 5px;padding-bottom: 15px;box-shadow: none !important;}
.offcanvas-body .dropdown-item {color: rgba(255, 255, 255, 0.7);padding-top: 10px;padding-bottom: 10px;font-size: 1rem;}
.offcanvas-body .dropdown-item:hover, .offcanvas-body .dropdown-item:focus {background-color: transparent;color: var(--primary-color);}
}

/* Hide Toggler on Desktop */
@media (min-width: 992px) {
.navbar-toggler {display: none !important;}
}

/* Offcanvas General */
.offcanvas {width: 80% !important;}
[data-bs-theme="light"] .offcanvas {background-color: #ffffff;color: #000000;}
[data-bs-theme="dark"] .offcanvas {background-color: #000000;color: #ffffff;}

/* Tooltip Button (Global) */
.tooltip-btn {cursor: help;background-color: var(--bs-tertiary-bg);color: var(--bs-body-color);border: 1px solid var(--bs-border-color);border-radius: 0 6px 6px 0;display: flex;align-items: center;justify-content: center;padding: 0.375rem 0.75rem;z-index: 5;}

/* Footer (Global) */
footer {margin-top: auto;padding-top: 4rem;padding-bottom: 2rem;}
footer h5 {color: white;}
footer a {color: rgba(255, 255, 255, 0.6) !important;transition: color 0.2s;text-decoration: none;}
footer a:hover {color: var(--primary-color) !important;}
footer .text-muted {color: rgba(255, 255, 255, 0.4) !important;}

/* Helpers */
.page-hero {background-color: var(--bs-tertiary-bg);padding: 2rem 0;margin-bottom: 2rem;border-bottom: 1px solid var(--bs-border-color);}
.calc-link-item {display: flex;justify-content: space-between;padding: 8px 12px;min-height: 28px;border-radius: 6px;text-decoration: none;color: var(--bs-body-color);transition: all 0.3s ease;align-items: center;}
.calc-link-item:hover {background-color: rgba(240, 147, 43, 0.1);color: var(--primary-color);padding-left: 16px;}
.ad-placeholder {background-color: var(--bs-secondary-bg);border: 1px dashed var(--bs-border-color);display: flex;align-items: center;justify-content: center;min-height: 250px;width: 100%;margin-bottom: 20px;color: var(--bs-secondary-color);}

/* Widgets */
#btn-back-to-top {position: fixed;bottom: 90px;right: 20px;display: none;width: 50px;height: 50px;border-radius: 50%;z-index: 9999;align-items: center;justify-content: center;font-size: 1.5rem;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);}
#cookie-consent {position: fixed;bottom: 0;left: 0;width: 100%;background-color: var(--bs-body-bg);border-top: 2px solid var(--primary-color);padding: 15px;z-index: 9000;box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 10px;}
[data-bs-theme="dark"] #cookie-consent {background-color: #1a1a1a;}

/* PDF Helper */
.btn-pdf {font-size: 0.8rem;display: inline-flex;align-items: center;justify-content: center;gap: 5px;}
.pdf-content-wrap {background: #fff;color: #000;padding: 20px;font-family: 'Arial', sans-serif;}

/* Calculators */
.dt-length label {margin-left: 10px!important;}
.dt-search label {margin-right: 10px!important;}
.dt-length {float: left;}
.dt-search {float: right;}
.dt-buttons {float: left;margin-left: 20px; margin-bottom: 10px;}
.table-responsive {overflow-x: hidden!important;}
div.dt-buttons>.dt-button, div.dt-buttons>div.dt-button-split .dt-button {position: relative !important;display: inline-block !important;box-sizing: border-box !important;margin-left: .167em !important;margin-right: .167em !important;margin-bottom: .333em !important;padding: .5em 1.2em !important;border: #525151 !important;border-radius: 6px !important;cursor: pointer !important;font-size: .88em !important;line-height: 1.6em !important;color: #fff !important;white-space: nowrap !important;overflow: hidden !important;background-color: rgba(0, 0, 0, 0.1) !important;background: #525151 !important;filter: progid: DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(230, 230, 230, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)") !important;-webkit-user-select: none !important;-moz-user-select: none !important;-ms-user-select: none !important;user-select: none !important;text-decoration: none !important;outline: none !important;text-overflow: ellipsis !important;}
.calc-card-small {background: #ffffff;border-left: 5px solid #f7941d;border-radius: 4px;box-shadow: 0 2px 4px rgba(0,0,0,0.1);padding: 15px;display: flex;flex-direction: column;justify-content: center;}
.calc-card-label {font-size: 13px;color: #555555;font-weight: 600;margin-bottom: 5px;}
.calc-card-value {font-size: 24px;color: #1a2b3c;font-weight: 500;}

/* page CSS */
.about-intro {font-size: 1.1rem;line-height: 1.8;color: var(--bs-secondary-color);margin-bottom: 3rem;}
.feature-card {background-color: var(--bs-body-bg);border: 1px solid var(--bs-border-color);border-radius: 12px;padding: 1.5rem;height: 100%;transition: transform 0.3s ease;}
.feature-card:hover {transform: translateY(-5px);border-color: var(--primary-color);}
.feature-icon {width: 50px;height: 50px;background-color: rgba(240, 147, 43, 0.15);color: var(--primary-color);border-radius: 10px;display: flex;align-items: center;justify-content: center;font-size: 1.5rem;margin-bottom: 1rem;}
.feature-title {font-weight: 700;margin-bottom: 0.5rem;font-size: 1.1rem;}
.feature-text {font-size: 0.9rem;color: var(--bs-secondary-color);margin-bottom: 0;}
