/*
Theme Name: CJVS Theme
Description: WordPress theme for Consiliul Județean Vaslui based on the original HTML template
Version: 1.0
Author: CJVS
Text Domain: cjvs-theme
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: government, county-council, responsive, accessibility
*/

/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

a {
    color: #2c6db8 !important;
}

a.bg-gov-primary, a.ab-item {
    color: #ffffff !important;
}

.to-gov-secondary, .text-white, .elementor-button-link {
    color: #ffffff !important;
}

.footer-widget p a {
    color: #ffffff !important;
}

.fc-col-header-cell-cushion, .fc-daygrid-day-top, .fc-daygrid-day-number, .fc-event-main-frame, .fc-event-title, .fc-event-time {
    color: #333 !important;
}

.footer-widget h4 {
    color: #ffffff !important;
}

body {
    font-family: 'Trebuchet MS', sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Make bold text really bold */
strong,
b {
    font-weight: 700 !important;
    text-shadow: 0.3px 0 0 currentColor, -0.3px 0 0 currentColor;
}

/* Heading styles */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.3;
    margin-top: 1.5em;
    margin-bottom: 0.75em;
    color: #2c3e50;
}

h1 {
    font-size: 2.5em;
}

h2 {
    font-size: 2em;
}

h3 {
    font-size: 1.75em;
}

h4 {
    font-size: 1.5em;
}

h5 {
    font-size: 1.25em;
}

h6 {
    font-size: 1.1em;
}

#dt-search-0 {
    border-width: 2px !important;
  border-style: solid !important;
  border-color: #e5e7eb !important;
}
/* List styles - apply to post-content and elementor widgets */
.post-content ul,
.post-content ol,
.elementor-widget-container ul,
.elementor-widget-container ol {
    margin: 1em 0 !important;
    padding-left: 2em !important;
    list-style-position: outside !important;
}

.post-content ul,
.elementor-widget-container ul {
    list-style-type: disc !important;
}

.post-content ol,
.elementor-widget-container ol {
    list-style-type: decimal !important;
}

/* Ordered list with type="a" attribute */
.post-content ol[type="a"],
.elementor-widget-container ol[type="a"] {
    list-style-type: lower-alpha !important;
}

.post-content ol[type="A"],
.elementor-widget-container ol[type="A"] {
    list-style-type: upper-alpha !important;
}

.post-content li,
.elementor-widget-container li {
    margin: 0.5em 0 !important;
    line-height: 1.6 !important;
    display: list-item !important;
}

/* Nested lists */
.post-content ul ul,
.post-content ol ul,
.elementor-widget-container ul ul,
.elementor-widget-container ol ul {
    list-style-type: circle !important;
    margin: 0.5em 0 !important;
}

.post-content ul ul ul,
.post-content ol ul ul,
.post-content ol ol ul,
.post-content ul ol ul,
.elementor-widget-container ul ul ul,
.elementor-widget-container ol ul ul,
.elementor-widget-container ol ol ul,
.elementor-widget-container ul ol ul {
    list-style-type: square !important;
}

.post-content ol ol,
.post-content ul ol,
.elementor-widget-container ol ol,
.elementor-widget-container ul ol {
    list-style-type: lower-alpha !important;
}

.post-content ol ol ol,
.post-content ul ol ol,
.post-content ul ul ol,
.post-content ol ul ol,
.elementor-widget-container ol ol ol,
.elementor-widget-container ul ol ol,
.elementor-widget-container ul ul ol,
.elementor-widget-container ol ul ol {
    list-style-type: lower-roman !important;
}

/* WordPress image display */
img[class*="wp-image-"] {
    display: inline-block !important;
    margin: 10px;
}

/* Utility classes */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only.focus:not-sr-only,
.sr-only:focus {
    position: static;
    width: auto;
    height: auto;
    padding: inherit;
    margin: inherit;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* Line clamp utility */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Animation keyframes */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUp {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation classes */
.animate-float {
    animation: float 6s ease-in-out infinite;
}

.animate-fade-in {
    animation: fadeIn 0.8s ease-out;
}

.animate-slide-up {
    animation: slideUp 0.6s ease-out;
}

.animate-scale-in {
    animation: scaleIn 0.4s ease-out;
}

.animate-bounce {
    animation: bounce 1s infinite;
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
