/**
 * @package     Joomla.Site
 * @subpackage  mod_sponsors
 *
 * @copyright   Copyright (C) 2025 TeleOptimum Kft. All rights reserved.
 * @license     GNU General Public License version 2 or later
 */

/* Common styles for all layouts */
.sponsors-module {
    padding: 15px;
    margin-bottom: 30px;
    border-radius: 6px;
    background-color: #f8f9fa;
}

.sponsors-module a {
    text-decoration: none;
}

.sponsors-module a:hover {
    text-decoration: underline;
}

.sponsors-module img {
    max-width: 100%;
    height: auto;
}

.sponsors-module .alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.sponsors-module .alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.sponsors-module .alert-no-items {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

/* Hover effects for sponsor items */
.sponsors-module a img {
    transition: all 0.3s ease;
}

.sponsors-module a:hover img {
    opacity: 0.9;
}

/* Badge styling */
.sponsors-module .badge,
.sponsors-module .label {
    padding: 4px 8px;
    font-size: 12px;
    font-weight: normal;
    border-radius: 10px;
}

.sponsors-module .badge-info,
.sponsors-module .label-info {
    background-color: #17a2b8;
    color: white;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideInUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes scaleIn {
    from {
        transform: scale(0.9);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Accessibility */
.sponsors-module .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;
}

/* RTL Support */
[dir="rtl"] .sponsors-module .sponsor-logo {
    margin-right: 0;
    margin-left: 15px;
}

[dir="rtl"] .sponsors-module .sponsor-action {
    margin-left: 0;
    margin-right: 15px;
}

/* Print styles */
@media print {
    .sponsors-module {
        background-color: transparent !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    
    .sponsors-module a::after {
        content: " (" attr(href) ") ";
        font-size: 90%;
        color: #666;
    }
    
    .sponsors-carousel .carousel-control,
    .sponsors-carousel .carousel-indicators {
        display: none !important;
    }
}