:root {
    --color-esg365-green: #326F47;
    --color-esg365-green-hover: #09714366;
    --color-bg: #deece6;
}

body {
    background-color: var(--color-bg);
}

a {
    color: var(--color-esg365-green);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

a:hover {
    color: var(--color-esg365-green-hover) !important;
}

.btn-primary {
    background-color: var(--color-esg365-green) !important;
    border-color: var(--color-esg365-green) !important;
}

.btn-primary:hover {
    background-color: var(--color-esg365-green-hover) !important;
    border-color: var(--color-esg365-green-hover) !important;
}

/* Location Fields Styles */
.location-item {
    background-color: #fff;
    padding: 20px;
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.location-fields {
    margin-bottom: 15px;
}

.radio-group {
    display: flex;
    gap: 20px;
    margin-top: 8px;
}

.radio-group label {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.add-location {
    background-color: var(--color-esg365-green);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
}

.add-location:hover {
    background-color: #265336;
}

.remove-location {
    background-color: #dc3545;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.remove-location:hover {
    background-color: #bb2d3b;
}

.btn-primary:hover {
    background-color: var(--color-esg365-green-hover) !important;
    border-color: var(--color-esg365-green-hover) !important;
    box-shadow: none !important;
}

.form-floating-outline .form-control:focus, .form-floating-outline .form-select:focus {
    border-color: var(--color-esg365-green) !important;
}

.form-floating > .form-control:focus ~ label, .form-floating > .form-control:focus:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label, .form-floating > .form-select:focus:not(:placeholder-shown) ~ label {
    color: var(--color-esg365-green) !important;
}

.input-group:not(.input-group-floating):focus-within .form-control, .input-group:not(.input-group-floating):focus-within .input-group-text {
    border-color: var(--color-esg365-green) !important;
}

.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .btn-primary.show.dropdown-toggle, .show > .btn-primary.dropdown-toggle {
    background-color: var(--color-esg365-green-hover) !important;
    border-color: var(--color-esg365-green-hover) !important;
}

.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) {
    background: linear-gradient(270deg, var(--color-esg365-green) 0%, var(--color-esg365-green-hover) 100%);
}

.bg-footer-theme, .bg-footer-theme .footer-link {
    color: var(--color-esg365-green);
}

.layout-menu-toggle .menu-toggle-icon::before {
    color: var(--color-esg365-green);
}

.menu-header .menu-header-text {
    color: var(--color-esg365-green);
}

.layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .app-brand, .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .app-brand {
    padding-left: .8em;
}

nav#layout-navbar {
    padding: 0 10px;
}

.btn {
    text-transform: none !important;
}

.btn-outline-primary, .btn-outline-primary.fc-prev-button, .btn-outline-primary.fc-next-button {
    color: var(--color-esg365-green);
    border-color: var(--color-esg365-green);
    background: transparent;
}
.btn-outline-primary.waves-effect .waves-ripple, .btn-outline-primary.fc-prev-button.waves-effect .waves-ripple, .btn-outline-primary.fc-next-button.waves-effect .waves-ripple {
    background: radial-gradient(rgba(50, 111, 71, 0.2) 0, rgba(50, 111, 71, 0.3) 40%, rgba(50, 111, 71, 0.4) 50%, rgba(50, 111, 71, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}

.btn-outline-primary:hover, .btn-outline-primary.fc-prev-button:hover, .btn-outline-primary.fc-next-button:hover {
    color: var(--color-esg365-green) !important;
    background-color: #e7f8f0 !important;
    border-color: var(--color-esg365-green) !important;
}

.dropdown-item:not(.disabled).active, .dropdown-item:not(.disabled):active {
    color: var(--color-esg365-green) !important;
    background-color: #e7f8f0 !important;
    border-color: var(--color-esg365-green) !important;
}

.switch-input:checked ~ .switch-toggle-slider {
    background: var(--color-esg365-green) !important;
}

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
    background-color: var(--color-esg365-green-hover) !important;
    color: #000!important;
}

.nav-pills .nav-item .nav-link:not(.active):hover {
    background-color: var(--color-esg365-green-hover) !important;
    color: #000 !important;
}

.form-control:focus, .form-select:focus {
    border-color: var(--color-esg365-green) !important;
}

.tab-content:not(.doc-example-content) {
    padding: 0 !important;
}

.form-floating.form-floating-outline.mb-2 {
    margin-top: 10px;
}