body {
    font-family: 'Inter', sans-serif;
}

/* Definování vlastních barev pro "farmářský" styl */
.farm-green { background-color: #6f9a37; }
.farm-green-light { background-color: #8cc63f; }
.text-farm-green { color: #6f9a37; }
.border-farm-green { border-color: #6f9a37; }
.farm-gray-light { background-color: #f9f9f9; }

/* Tlačítko registrace s hover efektem */
.btn-register {
    background-color: #ffffff;
    color: #000000;
    border: 2px solid #6f9a37;
    transition: all 0.3s ease;
}
.btn-register:hover {
    background-color: #6f9a37;
    color: #ffffff;
}

/* Tenká zelená čára centimetr pod menu */
header nav::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #6f9a37;
}

header nav {
    position: relative;
}
.active-link-style {
    color: white; /* text-white */
    font-weight: 700; /* font-bold */
    border-bottom: 2px solid #bed62f; /* border-b-2 border-[#bed62f] */
    padding-bottom: 0.25rem; /* pb-1 */
}
.active-link-style-mobile {
    border-bottom: 2px solid #bed62f; /* border-b-2 border-[#bed62f] */
}
/* Leaflet specific styles for the map page */
#map {
    height: 700px; /* Adjust height as needed */
}
.farmer-list-item.active {
    background-color: #f3f4f6; /* bg-gray-100 */
    border-left: 4px solid #bed62f; /* border-l-4 border-[#bed62f] */
}
.leaflet-popup-content-wrapper {
    border-radius: 0.75rem; /* rounded-lg */
    font-family: 'Inter', sans-serif;
    padding: 0;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.leaflet-popup-content {
    margin: 0;
    padding: 1rem;
    max-width: 250px;
}
.leaflet-popup-content img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
}
.leaflet-popup-content h3 {
    font-weight: 600;
    color: #1f2937; /* text-gray-800 */
    font-size: 1rem;
    margin-bottom: 0.25rem;
}
.leaflet-popup-content p {
    color: #4b5563; /* text-gray-600 */
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-bottom: 0.25rem;
}
.leaflet-popup-close-button {
    color: #374151; /* text-gray-700 */
    font-size: 1.5rem;
    line-height: 1;
    top: 8px;
    right: 8px;
}
.leaflet-control-zoom {
    border-radius: 0.5rem; /* Tailwind 'rounded-md' */
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); /* Tailwind 'shadow-sm' */
    border: none;
}
.leaflet-control-zoom-in, .leaflet-control-zoom-out {
    color: #4b5563; /* text-gray-600 */
    background-color: #ffffff; /* bg-white */
    transition: background-color 200ms ease-in-out;
}
.leaflet-control-zoom-in:hover, .leaflet-control-zoom-out:hover {
    background-color: #f3f4f6; /* hover:bg-gray-100 */
}
.leaflet-control-zoom-in {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    border-bottom: 1px solid #e5e7eb; /* border-gray-200 */
}
.leaflet-control-zoom-out {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* Highlight effect for events on trhy-akce.html */
.highlight-event {
    box-shadow: 0 0 0 3px #bed62f;
    transition: box-shadow 0.5s ease-in-out;
}

/* Modal styles for event detail */
.event-detail-modal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}
.event-detail-modal-content {
    background-color: white;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    padding: 1.5rem;
    width: 100%;
    max-width: 500px;
    margin: 1rem;
}
.event-detail-modal-content img {
    max-height: 200px;
    object-fit: cover;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}
.event-detail-modal-content h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 1rem;
}
.event-detail-modal-content p {
    color: #4b5563;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}
.event-detail-modal-content strong {
    font-weight: 600;
    color: #1f2937;
}
.event-detail-modal-content .flex-items-center {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}
.event-detail-modal-content .flex-items-center svg {
    margin-right: 0.5rem;
    color: #9ca3af;
}
.event-detail-modal-content .button-group {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.5rem;
    gap: 0.75rem;
}
.event-detail-modal-content .button-group button {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    transition: background-color 200ms ease-in-out;
}
.event-detail-modal-content .button-group .bg-gray-200 {
    background-color: #e5e7eb;
    color: #374151;
}
.event-detail-modal-content .button-group .bg-gray-200:hover {
    background-color: #d1d5db;
}
.event-detail-modal-content .button-group .bg-blue-500 {
    background-color: #3b82f6;
    color: white;
}
.event-detail-modal-content .button-group .bg-blue-500:hover {
    background-color: #2563eb;
}

/* Styling for article content generated from HTML */
.prose p {
    margin-bottom: 1rem;
    line-height: 1.6;
}
.prose h1, .prose h2, .prose h3 {
    font-weight: bold;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.prose h1 { font-size: 2.25rem; } /* text-4xl */
.prose h2 { font-size: 1.875rem; } /* text-3xl */
.prose h3 { font-size: 1.5rem; } /* text-2xl */
.prose ul, .prose ol {
    list-style-position: inside;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}
.prose ul { list-style-type: disc; }
.prose ol { list-style-type: decimal; }
.prose strong { font-weight: 700; }
.prose em { font-style: italic; }
.prose a {
    color: #3b82f6; /* blue-500 */
    text-decoration: underline;
}
.prose img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/* Utility třídy pro slideshow */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Hover efekty pro slideshow navigaci */
#prev-slide:hover,
#next-slide:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

/* Indikátory slideshow */
#slide-indicators button:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

/* Hero sekce responsivní úpravy */
@media (max-width: 768px) {
    .h-\[180px\] {
        height: 140px;
    }
    
    .h-\[180px\] .max-w-md {
        max-width: 100%;
        width: 100%;
        padding: 0 1rem;
    }
}

/* Responsivní úpravy pro slideshow */
@media (max-width: 1024px) {
    #events-slideshow {
        height: 280px;
    }
    
    /* Seznam eventů má na menších obrazovkách také menší výšku */
    .bg-white.rounded-2xl.shadow-lg.h-80 {
        height: 280px;
    }
}

@media (max-width: 768px) {
    #events-slideshow {
        height: 240px;
    }
    
    /* Seznam eventů má na mobilech také menší výšku */
    .bg-white.rounded-2xl.shadow-lg.h-80 {
        height: 240px;
    }
    
    #events-slideshow .absolute.bottom-0 {
        padding: 1rem;
    }
    
    #events-slideshow h3 {
        font-size: 1.25rem;
    }
}
