/* ========================================
   CROP BADGES PLUGIN - Estilos
   Diseñado para heredar de tu CSS principal
   ======================================== */

/* ===== CONTENEDOR ===== */
.crop-badges-container {
    margin: 20px 0 20px 0;  /* Sin padding izquierdo extra para alinear con descripción */
    padding: 0;  /* Sin padding para que los badges se alineen con el texto */
    background: transparent;  /* Sin fondo, hereda del card padre */
    border-radius: 0;
}

.crop-badges-title {
    margin: 0 0 12px 0;
    color: var(--primary-color, #2c5f2d);
    font-size: 1rem;
    font-weight: 600;
}

/* ===== LAYOUTS ===== */

/* Layout Horizontal */
.crop-badges-horizontal .crop-badges-list {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px;
    flex-wrap: wrap;
    align-items: flex-start;
}

/* Layout Grid (cuadrícula) */
.crop-badges-grid .crop-badges-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}

/* Layout Vertical (lista) */
.crop-badges-vertical .crop-badges-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
}

/* ===== BADGE INDIVIDUAL ===== */
.crop-badge {
    display: inline-flex !important;
    flex-direction: column;  /* Ícono arriba, texto abajo */
    align-items: center;
    justify-content: center;
    gap: 6px;  /* Reducido de 8px */
    padding: 10px 8px;  /* Reducido de 12px para hacer más cuadrado */
    min-width: 75px;  /* Reducido de 80px */
    max-width: 90px !important;  /* NUEVO: Limitar ancho máximo */
    width: auto !important;  /* NUEVO: No expandir al 100% */

    /* Estilos visuales - usa variables CSS de tu web si existen */
    background: var(--badge-bg, white);
    border: 1px solid var(--badge-border, #e8e8e8);  /* Borde más delgado y sutil */
    border-radius: var(--badge-radius, 8px);  /* Esquinas menos redondeadas */

    /* Tipografía - hereda de tu web */
    font-family: inherit;
    font-size: 0.8rem;  /* Reducido de 0.85rem */
    color: var(--text-color-muted, #666);  /* Gris medio en lugar de negro */
    text-decoration: none;
    text-align: center;

    /* Transición suave */
    transition: all 0.3s ease;

    /* NUEVO: Forzar que no ocupe todo el ancho */
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

.crop-badge:hover {
    border-color: var(--primary-color, #4CAF50);
    background: var(--badge-hover-bg, #f9fdf9);  /* Hover más sutil */
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.15);  /* Sombra más sutil */
    text-decoration: none;
}

.crop-badge:focus {
    outline: 2px solid var(--primary-color, #4CAF50);
    outline-offset: 2px;
}

/* Ícono del badge */
.crop-badge-icon {
    width: 36px;  /* Reducido de 40px */
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}

/* Placeholder cuando no hay ícono */
.crop-badge-icon-placeholder {
    width: 36px;  /* Reducido de 40px */
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;  /* Reducido de 28px */
    flex-shrink: 0;
}

/* Nombre del cultivo */
.crop-badge-name {
    font-weight: 500;
    color: inherit;
    line-height: 1.2;
}

/* ===== RESPONSIVE ===== */

/* Tablets */
@media (max-width: 768px) {
    .crop-badges-container {
        margin: 15px 0;
    }

    .crop-badges-title {
        font-size: 0.95rem;
    }

    /* Grid más compacto */
    .crop-badges-grid .crop-badges-list {
        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
    }
}

/* Móviles */
@media (max-width: 480px) {
    .crop-badges-container {
        margin: 12px 0;
    }

    .crop-badges-title {
        font-size: 0.9rem;
        margin-bottom: 8px;
    }

    .crop-badge {
        padding: 8px 6px;
        font-size: 0.75rem;
        gap: 5px;
        min-width: 65px;
    }

    .crop-badge-icon,
    .crop-badge-icon-placeholder {
        width: 30px;
        height: 30px;
    }

    .crop-badge-icon-placeholder {
        font-size: 22px;
    }

    /* Grid de 3 columnas en móvil */
    .crop-badges-grid .crop-badges-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
    }
}

/* ===== ACCESIBILIDAD ===== */

/* Modo alto contraste */
@media (prefers-contrast: high) {
    .crop-badge {
        border-width: 3px;
    }
}

/* Reducir movimiento para usuarios sensibles */
@media (prefers-reduced-motion: reduce) {
    .crop-badge {
        transition: none;
    }

    .crop-badge:hover {
        transform: none;
    }
}

/* ===== PRINT ===== */
@media print {
    .crop-badges-container {
        background: white;
        border: 1px solid #ccc;
    }

    .crop-badge:hover {
        transform: none;
        box-shadow: none;
    }
}
