:root {
    /* ProDoMa Theme - Orange/Yellow/Red based on Logo */
    /* Using a strong Orange for primary actions */
    --primary-color: #F57C00; 
    --primary-hover: #E65100;
    --secondary-color: #6c757d;
    --background-color: #ffffff;
    --text-color: #212529;
    --card-bg: #ffffff;
    --navbar-bg: #FFFDE7; /* Very Light Yellow for Light Mode */
    --footer-bg: #FFFDE7; /* Very Light Yellow for Light Mode */
    --input-bg: #ffffff;
    --input-text: #212529;
    --border-color: #dee2e6;
    --link-color: #E65100;
    --input-border-color: #D2691E; /* Chocolate */
    --label-color: #D2691E; /* Chocolate */
    --title-color: #D2691E; /* Chocolate */
    --btn-disabled-bg: #FFCC80; /* Lighter orange for disabled */
    --btn-disabled-border: #FFCC80;
    --btn-disabled-text: #fff;
    --footer-text-color: #212529;
    --secret-content-text: #212529;
    --secret-content-border: #D2691E; /* Chocolate */
    --header-text-color: #ffffff; /* Explicit White for Headers */
}

[data-theme="dark"] {
    /* Dark Theme */
    --primary-color: #FF9800; /* Lighter orange for dark mode contrast */
    --primary-hover: #FFB74D;
    --secondary-color: #adb5bd;
    --background-color: #1a1a1a;
    --text-color: #f8f9fa;
    --card-bg: #2d2d2d;
    --navbar-bg: #2d2d2d; /* Keep dark in dark mode */
    --footer-bg: #2d2d2d; /* Keep dark in dark mode */
    --input-bg: #2d2d2d;
    --input-text: #f8f9fa;
    --border-color: #444;
    --link-color: #FFB74D;
    --input-border-color: #D2691E; 
    --label-color: #E07A2E; /* Slightly lighter Chocolate for dark background */
    --title-color: #E07A2E; /* Slightly lighter Chocolate for dark background */
    --btn-disabled-bg: #a85d26; /* Darker chocolate-orange for disabled in dark mode */
    --btn-disabled-border: #a85d26;
    --btn-disabled-text: #e0e0e0;
    --footer-text-color: #f8f9fa; /* Explicit white text for footer in dark mode */
    --secret-content-text: #ffffff; /* White text for secret content in dark mode */
    --secret-content-border: #D2691E; /* Chocolate */
    --header-text-color: #ffffff;
}

/* Force White Text on Primary Headers */
.card-header.text-white, .text-white {
    color: var(--header-text-color) !important;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
    font-family: 'Titillium Web', sans-serif;
    margin-bottom: 60px;
    background-color: var(--background-color);
    color: var(--text-color);
    transition: background-color 0.3s, color 0.3s;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--title-color);
}

.navbar {
    background-color: var(--navbar-bg) !important;
    border-bottom: 1px solid var(--border-color);
}

.navbar-brand, .nav-link {
    color: var(--text-color) !important;
}

a {
    color: var(--link-color);
    text-decoration: none;
}

a:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.footer {
    background-color: var(--footer-bg);
    border-top: 1px solid var(--border-color);
    color: var(--footer-text-color); 
}

.footer a {
    color: var(--link-color);
}

.card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* Secret Content Specific Styling */
#secretContent {
    color: var(--secret-content-text);
    border: 1px solid var(--secret-content-border);
    padding: 1rem;
    border-radius: 0.25rem;
}

.text-chocolate {
    color: var(--label-color) !important;
}

.bg-chocolate {
    background-color: var(--label-color) !important;
    color: #fff !important;
}

.border-chocolate {
    border-color: var(--label-color) !important;
}

/* Inputs and Selects Styling */
.form-control, .form-select {
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--input-border-color) !important; 
}

/* Label Styling */
.form-label {
    color: var(--label-color);
    font-weight: 600; 
}

.form-control:focus, .form-select:focus {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(210, 105, 30, 0.25); /* Chocolate shadow */
}

/* Button overrides - REPLACED BLUE WITH PRIMARY (ORANGE) */
.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
}

.btn-primary:disabled, .btn-primary.disabled {
    background-color: var(--btn-disabled-bg) !important;
    border-color: var(--btn-disabled-border) !important;
    color: var(--btn-disabled-text) !important;
    opacity: 1; 
}

/* Outline Primary Override (was blue in bootstrap default) */
.btn-outline-primary {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus {
  background-color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  color: #fff !important;
}

/* Remove default blue focus rings */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--primary-color);
}

/* Link color overrides (blue by default) */
.btn-link {
    color: var(--link-color);
}
.btn-link:hover {
    color: var(--primary-hover);
}

/* Pagination blue override */
.page-link {
    color: var(--primary-color);
}
.page-link:hover {
    color: var(--primary-hover);
}
.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Specific Alert Colors Override for Dark Mode visibility */
[data-theme="dark"] .alert-success {
    background-color: #1e4620;
    color: #badbcc;
    border-color: #0f5132;
}

[data-theme="dark"] .alert-warning {
    background-color: #664d03;
    color: #ffecb5;
    border-color: #997404;
}

[data-theme="dark"] .alert-danger {
    background-color: #842029;
    color: #f8d7da;
    border-color: #b02a37;
}

/* Fix navbar link colors in dark mode if they aren't picking up text color */
[data-theme="dark"] .nav-link {
    color: var(--text-color) !important;
}

/* Active link state */
.nav-link.active {
    font-weight: bold;
    color: var(--primary-color) !important;
}

html {
  position: relative;
  min-height: 100%;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* FAQ Accordion – palette arancio/chocolate (no azzurro Bootstrap) */
.accordion-button:not(.collapsed) {
    color: var(--label-color) !important;
    background-color: rgba(210, 105, 30, 0.12) !important;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width, 1px)) 0 var(--bs-accordion-border-color);
}
.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(210, 105, 30, 0.25);
    border-color: var(--label-color);
}
.accordion-button:hover:not(.collapsed) {
    background-color: rgba(210, 105, 30, 0.18) !important;
}
[data-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: rgba(224, 122, 46, 0.2) !important;
}
[data-theme="dark"] .accordion-button:hover:not(.collapsed) {
    background-color: rgba(224, 122, 46, 0.28) !important;
}
