body { font-family: 'Ubuntu', Arial, sans-serif; }
.font-ubuntu { font-family: 'Ubuntu', Arial, sans-serif; }
.bg-primary { background-color: #2e553f !important; }
.bg-primary-contact { background-color: #e0f1e1!important; }
.text-primary { color: #2e553f !important; }
.bg-accent { background-color: #90C2E7 !important; }
.text-gold, .bg-gold { color: #FFD700 !important; }
.text-muted-foreground { color: #888 !important; }
.rounded-xl { border-radius: 1.25rem !important; }
.rounded-4 { border-radius: 1.25rem !important; }
.shadow-sm { box-shadow: 0 2px 8px 0 rgba(46, 85, 63, .10); }
.hover-lift { transition: box-shadow 0.3s, transform 0.3s; }
.hover-lift:hover, .official-card:hover {
  box-shadow: 0 6px 32px 0 rgba(0,0,0,0.10), 0 2px 8px 0 rgba(0,0,0,0.08);
  transform: translateY(-4px) scale(1.01);
  z-index: 2;
}
.hover-text-primary:hover { color: #2e553f!important; transition: color .2s; }
.card-badge { font-size: .8rem; padding: .2em .7em; border-radius: .5em; }
.calendar-table th, .calendar-table td { width: 38px; height: 38px; text-align: center; font-size: .95rem; padding: .25rem; border:none; }
.calendar-table td { vertical-align: middle; border-radius:8px;}
.today-dot { display:inline-block; width:0.75em; height:0.75em; border-radius:50%; background:#ffc107; border:1.5px solid #e3be41; vertical-align:middle; margin-left:2px; margin-bottom:2px;}
.table-today { outline: 2px solid #ffc107; outline-offset: -2px; background-color:0; }
.btn-accent { background:#b25e2c!important; color:#fff!important; border:0!important; }
.btn-accent:hover { background:#D8AE95!important; color:#fff!important; }
.text-white-80 { color: rgba(255,255,255,.80) !important; }
.text-white-60 { color: rgba(255,255,255,.60) !important; }
.text-white-40 { color: rgba(255,255,255,.40) !important; }
.text-xs { font-size: 0.825rem; }
.hover-effect:hover { color: #fff !important; }
.parallax-bg {
  background-image: linear-gradient(rgba(46, 85, 63, 0.4), rgba(46, 85, 63, 0.6)), url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?ixlib=rb-4.0.3&auto=format&fit=crop&w=2832&q=80');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 100vh;
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 1;
  pointer-events: none;
}
.fade-in { animation: fadeIn 1.1s ease-in 0.1s both; }
@keyframes fadeIn { from { opacity:0; transform:translateY(40px);} to { opacity:1; transform:none;} }
.ring-danger { box-shadow: 0 0 0 2px rgba(220,53,69,0.18)!important; }
.official-card { transition: box-shadow 0.3s, transform 0.3s; }
@media (max-width: 991px) {
  .navbar-collapse { background: #fff; }
}
@media (max-width: 767.98px) {
  .card .d-flex.flex-md-row { flex-direction: column !important; gap: 1.2rem !important; }
}

element.style {
}
.gap-2 {
    gap: .5rem !important;
}
.align-items-center {
    align-items: center !important;
}
.d-inline-flex {
    display: inline-flex !important
;
}
.btn-outline-primary {
    --bs-btn-color: #2e553f !important;
    --bs-btn-border-color: #2e553f !important;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2e553f !important;
    --bs-btn-hover-border-color: #2e553f !important;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #2e553f !important;
    --bs-btn-active-border-color: #2e553f !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #2e553f !important;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #2e553f !important;
    --bs-gradient: none;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2e553f !important;
    --bs-btn-border-color: #2e553f !important;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2e553f !important;
    --bs-btn-hover-border-color: #2e553f !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #2e553f !important;
    --bs-btn-active-border-color: #2e553f !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #2e553f !important;
    --bs-btn-disabled-border-color: #2e553f !important;
}
.dropdown-item.active, .dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: #b3deb6!important;
}